进制表示法
进制 | 下标表示法 | 前缀表示法 | 后缀表示法 |
---|---|---|---|
二进制 (binary) | (1001)2 | 0b1001 或 0B1001 | 1001b 或 1001B |
八进制 (octal) | (17)8 | 017 | 17o 或 17O |
十进制 (decimal) | (10)10 | 无前缀 | 10d 或 10D |
十六进制 (hexadecimal) | (1F)16 | 0x1F 或 0X1F | 1fh 或 1FH |
八进制的前缀法跟数字 0 过于相似,因此比较少使用。 八进制的后缀法跟十进制的过于相似,因此比较少使用。
进制转换
printf 命令转进制。
%d
或%i
转换成有符号的十进制%u
转换成无符号的十进制%o
转换成无符号的八进制%x
转换成无符号的十六进制(小写字母)%X
转换成无符号的十六进制(大写字母)
bc 命令转换任意进制。
- 转成四进制
echo "obase=4; 100" | bc
- 转成八进制
echo "obase=8; 100" | bc
- 转成十二进制
echo "obase=12; 100" | bc
- 转成十六进制
echo "obase=16; 100" | bc
- 八进制转十进制
echo "ibase=8; 100" | bc
- 二进制转十六进制
echo "ibase=2; obase=16; 11000000" | bc