进位计数制
书写格式
使用 后缀字母 标识该数的进位计数制,一般用 B(Binary)
表示二进制,用 O(Octal)
表示八进制,用 D(Decimal)
表示十进制(十进制数的后缀可以省略),用 H(Hexadecimal)
表示十六进制数的后缀。例如二进制数 10011B,十进制数 56D 或 56,十六进制数 308FH。
使用 前缀字符 标识该数的进位计数制,一般用 0b
或 0B
表示二进制,用数字 0
开头表示八进制,十进制没有前缀,用 0x
或 0X
表示十六进制。例如二进制数 0b101,八进制数 015,十六进制数 0x308F。
R 进制数转换成十进制数
任何一个 R 进制数转换成十进制数时,只要 “按权展开” 即可。
(3A.C) 16 = (3 x 161 + 10 x 160 + 12 x 16-1)10 = (58.75)10
十进制数转换成 R 进制数
任何一个十进制数转换成 R 进制数时,要将整数和小数部分分别进行转换。
(1) 整数部分的转换方法是 “除基取余,上右下左”。也就是说,用要转换的十进制整数去除以基数 R,将得到的余数作为结果数据中各位的数字,直到余数为 0 为止。
所以,(42)10 = (101010)2
(2) 小数部分的转换方法是 “乘基取整,上左下右”。也就是说,用要转换的十进制小数去乘以基数 R,将得到的乘积的整数部分作为结果数据中各位的数字,小数部分继续与基数 R 相乘。以此类推,直到某一步乘积的小数部分为 0 为止。
将十进制小数 0.6875 分别转换成二进制数和八进制数。
0.6875 x 2 = 1.375 整数部分 = 1
0.375 x 2 = 0.75 整数部分 = 0
0.75 x 2 = 1.5 整数部分 = 1
1.5 x 2 = 1.0 整数部分 = 1
所以,(0.6875)10 = (0.1011)2
0.6875 x 8 = 5.5 整数部分 = 5
0.5 x 8 = 4.0 整数部分 = 4
所以,(0.6875)10 = (0.54)8
二、八、十六进制数的相互转换
八进制数字与二进制数的对应关系如下:
- (0)8 = 000
- (1)8 = 001
- (2)8 = 010
- (3)8 = 011
- (4)8 = 100
- (5)8 = 101
- (6)8 = 110
- (7)8 = 111
(13.724)8 = (001 011.111 010 100)2 = (1011.1110101)2
(0.10101)2 = (000.101 010)2 = (0.52)8
(10011.01)2 = (010 011.010)2 = (23.2)8
十六进制数字与二进制数的对应关系如下:
- (0)16 = 0000
- … …
- (7)16 = 0111
- (8)16 = 1000
- (9)16 = 1001
- (A)16 = 1010
- (B)16 = 1011
- (C)16 = 1100
- (D)16 = 1101
- (E)16 = 1110
- (F)16 = 1111
(2B.5E)16 = (0010 1011.0101 1110)2 = (101011.0101111)2
(11001.11)2 = (0001 1001.1100)2 = (19.C)16
备注:整数部分从低位向高位方向,最后不足在高位补 0 凑满,小数部分从高位向低位方向,最后不足在低位补 0 凑满。