1. 数制 Number System
我们平时生活中使用最广泛的是十进制(Decimal),它由0,1,2,3,4,5,6,7,8,9 这10个数字组成,逢十进一。如:买东西时付钱的钞票、物体重量的衡量、路程的长短 … … 它来源于我们的老祖宗在原始社会时就观察到身体都有10个手指与10个脚趾,使用10来做进位计算是最自然也最方便了。
除了十进制外还有其他数制系统:
十进制 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
二进制 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 | 10000 |
三进制 | 1 | 2 | 10 | 11 | 12 | 20 | 21 | 22 | 100 | 101 | 102 | 110 | 111 | 112 | 120 | 121 |
四进制 | 1 | 2 | 3 | 10 | 11 | 12 | 13 | 20 | 21 | 22 | 23 | 30 | 31 | 32 | 33 | 100 |
五进制 | 1 | 2 | 3 | 4 | 10 | 11 | 12 | 13 | 14 | 20 | 21 | 22 | 23 | 24 | 30 | 31 |
六进制 | 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | 15 | 20 | 21 | 22 | 23 | 24 |
七进制 | 1 | 2 | 3 | 4 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 20 | 21 | 22 |
八进制 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 |
九进制 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
十六进制 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 |
还有十二进制:一年12个月,二十四进制:一天24个小时,六十进制:一分钟60秒 … … 所谓的数制就是每逢x就进一位。
其中二进制(Binary)是计算机采用的计算系统,只包括0和1这两个数字。也可使用八进制(Octal)、十六进制(Hexadecimal)来表示二进制。
2. 数制的表示
使用英文后缀,或在右下角加上下标来表示数的进制。
二进制 —— 后缀B: 1002(100B)、 11010.112(11010.11B)
八进制 —— 后缀Q或O: 1728(172oct、172Q)、 31.568(31.56 oct、31.56Q)
十六进制 —— 后缀H: A50D116(A50D1hex、A50D1H)、 4B1.3F16(4B1.3F hex、4B1.3F H)
12345 = 1×105 + 2×104 + 3×103 + 4×102 + 5×100
391.47 = 3×103 + 9×102 + 1×100 + 4×10–1 + 7×10–2
∴ 任何一个十进制数都可以表示为
3. 其他数制转换为十进制
该数每一位的数字对应的权值的乘积之和
(1) 将二进制数11010.112转为十进制
数码 1 1 0 1 0 . 1 1
权值 24 23 22 21 20 . 2–1 2–2
11010.112 = 1×24 + 1×23 + 0×22 + 1×21 + 0×20 + 1×2–1 + 1×2–2
. = 16 + 8 + 2 + 0.5 + 0.25
. = 26.75
(2)将八进制数31.56 oct转为十进制
数码 3 1 . 5 6
权值 81 80 . 8–1 8–2
31.56 oct = 3×81 + 1×80 + 5×8–1 + 6×8–2 = 24 +1 + 0.625 + 0.09375 = 2 5.71875
(3)将十六进制数4B1.3F hex转为十进制
数码 4 B 1 . 3 F
权值 162 161 160 . 16–1 16–2
4B1.3F hex = 4×162 + B×161 + 1×160 + 3×16–1 + F×16–2
. = 1024 + 176 + 1 + 0.1875 + 0.0586
. = 1201.2461