linux下进制的相互转换 您所在的位置:网站首页 oracle16进制转10进制函数 linux下进制的相互转换

linux下进制的相互转换

2023-12-27 14:43| 来源: 网络整理| 查看: 265

linux下–十六进制,十进制,八进制,二进制的相互转换 不同进制的特殊符号如下:

二进制:数字前缀为0b或0B,字符集为0和1。八进制:数字前缀为0o(零),字符集为0到7。十进制:没有数字前缀,字符集为0到9。十六进制:数字前缀为0x或0X,字符集为0到9和A到F(大小写都可以)。

下面是一些示例:

二进制数字1101可以表示为0b1101或0B1101。八进制数字16可以表示为020或0o20,其中前缀0表示它是一个八进制数字。十进制数字42不需要前缀。十六进制数字1A可以表示为0x1A或0X1a。

需要注意的是,在编写程序时,应在数字前加上正确的前缀,以明确数字的进制。否则,计算机可能会将它们解释为不同进制的数字。

在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更加灵活,其值也需要用对应的前缀进行辨别 比如: 十六进制数:0xAA 十进制数:10 八进制数:0o20 二进制数:0b110 以上四种进制,除了十进制无前缀,其余进制均有其前缀进行辨别,如0x,0o,0b 转换效果展示:

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

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有