ibase是输入数字的进制,而obase就是输出数字的进制了。很好记,i是input,o是output。
一、如果用一条命令来转数字,可以用echo命令和管道结合bc。如下:
10进制转2进制:
$ echo "obase=2;ibase=10;100" | bc1100100
10进制转16进制:
$ echo "obase=16;ibase=10;100" | bc64
16进制转10进制:
$ echo "ibase=16;obase=2;F1" | bc11110001
注意,16进制数字的F要大写,如果小写被bc当作了变量,结果是不对的,不信试试:
$ echo "ibase=16;obase=2;f1" | bc0
二、还可以用bc的交互模式来转换,最后Ctrl-D,或者输入quit退出。
注意:在交互模式下,一定要先设置obase参数,然后再设置ibase,否则会很混乱
$ 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'. obase=8 设置8进制输出 ibase=10 设置10进制输入 10 输入十进制10 12 输出8进制 12 obase 查看当前输出进制 10 obase=16 更改输出进制为16进制 ibase 查看当前输入进制 A ibase=16 设置当前输入进制 a 输入小写a,输入为零 0 A 输入16进制A,输出为A A obase 查看当前输出进制 16进制的10 10 obase=A 设置当前的输出进制为10 obase 查看当前的输出进制 10 F 输入16进制F,输出10进制15 15 12 输入16进制12,输出10进制18 18 |