linux下用bc进行16进制转换

6205阅读 0评论2010-08-23 bailiangcn
分类:LINUX

Linux下,bc命令是一个很好用的term计算器。我们要用到 bc的ibase和obase方法来进行进制转换。

  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
上一篇:Linux 汇编语言开发指南
下一篇:shell命令行下进行ASCII码转换