天天看點

linux指令行電腦 bc指令用法bc

bc

基本參數

  • 檢視版本
$ bc -v 
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
           
  • 檢視幫助
$ bc -h
usage: bc [options] [file ...]
  -h  --help         print this usage and exit
  -i  --interactive  force interactive mode
  -l  --mathlib      use the predefined math routines
  -q  --quiet        don't print initial banner
  -s  --standard     non-standard bc constructs are errors
  -w  --warn         warn about non-standard bc constructs
  -v  --version      print version information and exit
           

基本用法

  • +:加
  • -:減
  • *:乘
  • /:除
  • ^:指數
  • %:求餘數
  • sqrt:開方
  • ibase:輸入進制
  • obase:輸出進制
  • ;要計算多個結果用分号分隔
  • scale:小數部分位數

使用 echo 指令來傳遞運算式或指令

  • 3除以2保留3位小數:echo ‘scale=3; 3/2’ | bc
[[email protected] myb]# echo 'scale=3; 3/2'
scale=3; 3/2
[[email protected] myb]# echo 'scale=3; 3/2' | bc
1.500
[[email protected] myb]# 
           

交換模式

  • 輸入bc進入互動模式
[[email protected] myb]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
5/3
1
scale=5;5/3
1.66666
exit
0
^C

           

進制轉換

  • 10進制的3轉換為2進制:echo “obase=2;3” |bc
[[email protected] myb]# echo "obase=2;3" |bc
11
           
  • 10進制的11轉換為16進制:echo “obase=16;11” |bc
[[email protected] myb]# echo "obase=16;11" |bc
B
           
  • 2進制轉16進制:echo “obase=16;ibase=2;11” |bc
[[email protected] myb]# echo "obase=16;ibase=2;11" |bc
3

[[email protected] myb]# echo "obase=16;ibase=2;111" |bc          
F
           
  • 2進制轉10進制:echo “obase=10;ibase=2;11” |bc
[[email protected] myb]# echo "obase=10;ibase=2;11" |bc
3

[[email protected] myb]# echo "obase=10;ibase=2;1111" |bc
15
           
  • 計算平方根:100是10的平方
[[email protected] myb]# echo "sqrt(100)" |bc
10
           
  • 計算m的n次方:10的3次方,10的2次方,3的5次方:
[[email protected] myb]# echo "10^3;10^2;3^5" |bc
1000
100
243
           

注意事項

  • obase 要盡量放在 ibase 前面,因為 ibase 設定後,後面的數字都是以 ibase 的進制來換算的。