例子:数字常量的表示法
#!/bin/bash # numbers.sh: 不同基数的数字表示法. # 十进制数: 它是默认的 let "dec = 32" echo "decimal number = $dec" # 32 # 这儿没有什么特别的. # 八进制数: 以'0'(零)为前缀 let "oct = 032" echo "octal number = $oct" # 26 # 结果表示为十进制. # --------- ------ -- ------- # 十六进制: 以'0x'或'0X'为前缀 let "hex = 0x32" echo "hexadecimal number = $hex" # 50 # 以十进制的形式表示. # 其他的进制的表示形式: BASE#NUMBER # BASE值在2和64之间. # NUMBER必须使用在BASE范围内的符号,看下面的示例. let "bin = 2#111100111001101" echo "binary number = $bin" # 31181 let "b32 = 32#77" echo "base-32 number = $b32" # 231 let "b64 = 64#@_" echo "base-64 number = $b64" # 4031 # 这个符号只能工作在ASCII码值为2-64的范围限制. # 10个数字+26个小写字母+26个大写字母+ @ + _ echo echo $((36#zz)) $((2#10101010)) $((16#AF16)) $((53#1aA)) # 1295 170 44822 3375 # 重要提示: # -------------- # 使用一个超出给定进制的数字将会引起一个错误信息。 #+ gives an error message. let "bad_oct = 081" # ((部分的) 错误信息输出: # bad_oct = 081: value too great for base (error token is "081") # 八进制数字只能使用数字0-7. exit 0