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从入门到精通》

猜你喜欢

转载自blog.csdn.net/puqutogether/article/details/45823471