Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1691613
  • 博文数量: 410
  • 博客积分: 9563
  • 博客等级: 中将
  • 技术积分: 4517
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-03 19:59
个人简介

文章分类

全部博文(410)

文章存档

2017年(6)

2016年(1)

2015年(3)

2014年(4)

2013年(32)

2012年(45)

2011年(179)

2010年(140)

分类: LINUX

2010-08-23 20:14:44

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
阅读(6071) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~