码迷,mamicode.com
首页 > 系统相关 > 详细

linux中进制转换

时间:2018-12-18 23:48:04      阅读:354      评论:0      收藏:0      [点我收藏+]

标签:root   roo   格式   转换   iba   top   (())   round   输出   

 

方式一:使用$[]或$(())

格式为:$[base#number]或$((base#number)),其中base为进制,number为对应进制数。

这种方式输入2进制、16进制等,但只能输出为10进制,如下:

root@laptop ~ # echo $[2#1100]
12
root@laptop ~ # echo $((2#1100))
12
root@laptop ~ # echo $[16#ff]
255
root@laptop ~ # echo $[8#100]
64

方式二:使用bc命令

格式为:echo "obase=16 ; ibase=2 ; number"  |  bc ,其中obase代表输出进制,ibase代表输入进制,number表示ibase进制对应的数字

注意:为10时可不设置ibase obase的值,obase要尽量放在ibase前,因为ibase设置后,后面的数字都是以ibase的进制来换算的。同时16进制字母必须大写。

例如:

root@laptop ~ # echo "ibase=16;obase=2;FFEE" | bc
1111111111101110
root@laptop ~ # echo "ibase=8 ; obase=2 ; 67"  |  bc
110111

root@laptop ~ # echo "obase=16 ; base=2 ; 11001111"  |  bc
CF

root@laptop ~ # echo "obase=16;ibase=2;11001111 ; 0101100111001111"  |  bc
CF
59CF

     

linux中进制转换

标签:root   roo   格式   转换   iba   top   (())   round   输出   

原文地址:https://www.cnblogs.com/dingbj/p/10140785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!