终端计算器

编程中经常会有一些数值的计算或者进制的转换,虽然各操作系统都自带了计算器应用,但部分功能还是不算完善,比如取余数、进制转换、引用上次的计算结果等,相较而言,Windows 中的计算器应用还是功能很强大的。其实,作为计算机,计算功能当然是其最基础也是最擅长的功能,仅终端就涵盖了各种各样的计算方式,如bc、echo、expr等
bc
基础运算
1 | $ echo 15/4 | bc |
进制转换
十六进制转十进制
1 | $ echo "ibase=16;A7" | bc |
二进制转十进制
1 | $ echo "ibase=2;11111111" | bc |
十六进制转二进制
1 | $ echo "ibase=16; obase=2; B5-A4" | bc |
last 引用上次计算结果
1 | $ echo "50*4; last+100" | bc |
last 也可以用.代替
1 | echo "50*4;.+100" | bc |
交互式计算

一行多个计算表达式,以;分隔
1 | 3+4; 5*2; 5^2; 18/4 |
echo
1 | $ echo $((3+5)) |
expr
注意表达式两侧的空格与转义字符
1 | $ expr 6 + 3 # 注意运算符两侧的空格 |