进位计数制

书写格式

使用 后缀字母 标识该数的进位计数制,一般用 B(Binary) 表示二进制,用 O(Octal) 表示八进制,用 D(Decimal) 表示十进制(十进制数的后缀可以省略),用 H(Hexadecimal) 表示十六进制数的后缀。例如二进制数 10011B,十进制数 56D 或 56,十六进制数 308FH。

使用 前缀字符 标识该数的进位计数制,一般用 0b0B 表示二进制,用数字 0 开头表示八进制,十进制没有前缀,用 0x0X 表示十六进制。例如二进制数 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 凑满。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *