Shell中的进制转换


    在Shell中默认表示数值为十进制,那么二进制、八进制和十六进制如何表示呢?


    方法1:使用前缀。

    0开头表示八进制,0x开头表示十六进制。

    如下:

#-----------------------------/chapter4/ex4-35.sh------------------
#! /bin/sh

#十进制20
((x=20))
echo "$x"
#八进制20
((x=020))
echo "$x"
#十六进制20
((x=0x20))
echo "$x"


    方法2:#来表示。

    2#开头表示二进制,8#开头表示八进制,16#开头表示十六进制。

    如下:

#-----------------------------/chapter4/ex4-36.sh------------------
#! /bin/sh

#二进制
((x="2#100000"))
echo "$x"
#八进制
((x=8#123))
echo "$x"
#十六进制
((x=16#32))
echo "$x"

    参考:《Shell从入门到精通》

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。