Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > linux下进制的相互转换

linux下如何进制的相互转换

作者:零时搞学习

文章介绍了Linux Shell和Python中不同进制(二进制、八进制、十进制、十六进制)的转换方法,包括前缀和转换工具的使用

linux下进制的相互转换

linux下十六进制,十进制,八进制,二进制的相互转换

不同进制的特殊符号

如下:

下面是一些示例:

需要注意的是:

在linux shell上进行进制转换

各进制转10进制:

方法一:echo $((现在的进制#原始值))

#2进制数转10进制数
root@unassigned:/# echo $((2#1011))
11
#8进制数转10进制数
root@unassigned:/# echo $((8#13))
11
#16进制数转10进制数
root@unassigned:/# echo $((16#B))
11

方法二:echo ‘ibase=现在的进制;原始值’ | bc

#8进制数转10进制数
root@unassigned:~/test# echo 'ibase=8;120' | bc
80
#16进制数转10进制数
root@unassigned:~/test# echo 'ibase=16;50' | bc
80
#2进制数转10进制数
root@unassigned:~/test# echo 'ibase=2;1010000' | bc
80

进阶

利用bc实现各进制相互转换

echo “obase=目标进制; ibase=原始进制; $((原始值))” | bc

#十进制值转换为八进制
root@unassigned:~/test# echo "obase=8; ibase=10; $((120))" | bc
170
#十进制转换为十六进制
root@unassigned:~/test# echo "obase=16; ibase=10; $((120))" | bc
78
#十进制转换为二进制
root@unassigned:~/test# echo "obase=2; ibase=10; $((120))" | bc
1111000

#八进制转换为二进制
root@unassigned:~/test# echo "obase=2; ibase=8; $((170))" | bc
1111000
#八进制转换为十进制
root@unassigned:~/test# echo "obase=10; ibase=8; $((170))" | bc
120
#八进制转换为十六进制
root@unassigned:~/test# echo "obase=16; ibase=8; $((170))" | bc
78

#二进制转换为八进制
root@unassigned:~/test# echo "obase=8; ibase=2; $((1111000))" | bc
170
#二进制转换为十进制
root@unassigned:~/test# echo "obase=10; ibase=2; $((1111000))" | bc
120
#二进制转换为十六进制
root@unassigned:~/test# echo "obase=16; ibase=2; $((1111000))" | bc
78

#十六进制转换为二进制
root@unassigned:~/test# echo "obase=2; ibase=16; $((78))" | bc
1111000
#十六进制转换为八进制
root@unassigned:~/test# echo "obase=8; ibase=16; $((78))" | bc
170
#十六进制转换为十进制
root@unassigned:~/test# echo "obase=10; ibase=16; $((78))" | bc
120

以上简单介绍了shell下的进制转换,下面再讲一下Python中的进制转换:

在python3中有以下进制转换的方式,分别对应不同的进制

十六进制hex(),十进制int(),八进制oct(),二进制bin()

值得注意的是,python更加灵活,其值也需要用对应的前缀进行辨别

比如:

以上四种进制,除了十进制无前缀,其余进制均有其前缀进行辨别,如0x,0o,0b

转换效果展示:

>>> hex(120)
'0x78'
>>> hex(0o170)
'0x78'
>>> hex(0b1111000)
'0x78'
>>> int(0x78)
120
>>> oct(0x78)
'0o170'
>>> bin(0x78)
'0b1111000'

就不完全一一列举了,以上就是linux shell下和python3下对进制的转换方法。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文