任务一 进位计数制
项目导读
计算机中所有信息都是用二进制来表示的,具体到数字、英文字符、中文汉字、声音、图像、视频等各种信息都有自己的二进制表示规则。
知识目标
- 掌握基数、权的概念,掌握二进制数、十进制数、十六进制数、八进制数的表示方法和相互转换;
- 掌握数的编码,掌握机器数、原码、反码和补码;
- 掌握字符编码ASCII码及汉字编码,掌握区位码、国标码、机内码及其转换;
- 了解声音、图像、视频信息的编码。
能力目标
- 能够对不同进制数进行转换;
- 能够对各种数字编码、汉字编码进行转换。
素质目标
- 培养细致认真的数学计算能力;
- 增强规则意识,提升自身的职业素养。
知识点
一、进位计数制
任务背景
- 人类发展中对物体数量统计天然选择了十进制;计算机的计数规则是二进制,同时有八进制、十六进制,它们之间有密切关系。
进位计数制定义(以十进制为例)
- 数码:0~9 这些数字符号称为数码。
- 基数:全部数码的个数称为基数,用 R 表示。
- 计数规则:逢基数进一。
二、四种常用数制
1. 十进制
- 书写:不加标注,或加后缀 D。
- 成因:人类双手共十根手指,故十进制是人类自发采用最普遍的进位制。
- 基数 R = 10,数码由 0–9 组成,计数规律逢十进一。
2. 二进制
- 成因:计算机内部电子部件只有电流"通""断"(或电压"高""低")两种工作状态,因此计算机能直接识别的只是二进制数;所处理的所有信息都是由 1 和 0 组成的二进制数的某种编码。
- 数码:0、1;基数 R = 2;运算规律逢二进一。
- 书写:数的右下方注基数 2,或在后面加 B。例:10110011 = (10110011)₂ = 10110011B。
- 二进制优点:
- 只有两个数码 0 和 1,可用具有两个不同稳定状态的元器件表示一位数码(如电流有无、电压高低、晶体管导通/截止)。
- 运算简单,大大简化运算部件结构。加法、乘法基本法则各四条:
- 加法:0+0=0,0+1=1,1+0=1,1+1=10
- 乘法:0×0=0,0×1=0,1×0=0,1×1=1
- 天然兼容逻辑运算。
- 缺点:位数往往很长,读写不便(如十进制 100000D 写成二进制为 11000011010100000B),故实际采用十六进制或八进制表示。
3. 八进制
- 成因:二进制基数 R 较小,书写阅读不方便,故在小型机中引入八进制。
- 基数 R = 8 = 2³,数码 0、1、2、3、4、5、6、7;每个数码正好对应三位二进制数。
- 书写:下标 8 或数据后加字母 O;为区别字母 O 和数字 0,也常用 Q 作区别符。
- 例:(11101010.010110100)₂ 对应 (352.264)₈ 或 352.264Q。
4. 十六进制
- 成因:二进制位数太长、不易记忆,故提出十六进制。
- 数码:数字 0
9 加上字母 A–F(分别表示十进制数 1015);基数 R = 16 = 2⁴;运算规律逢十六进一。 - 书写:尾部标志 H 或下标 16。例:4AC8 = (4AC8)₁₆ = 4AC8H。
三、两张对照表
**常用计数制的基数和数码对照表(3-1-1) **
| 数制 | 基数 | 数码 | 区分符 |
|---|---|---|---|
| 二进制 | 2 | 0 1 | B |
| 八进制 | 8 | 0 1 2 3 4 5 6 7 | O/Q |
| 十进制 | 10 | 0 1 2 3 4 5 6 7 8 9 | D |
| 十六进制 | 16 | 0 1 2 3 4 5 6 7 8 9 A B C D E F | H |
表3-1-2 常用计数制的表示方法(0–16 对照)
| 十进制 | 二进制 | 八进制 | 十六进制 |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
四、几个核心概念
- 进位计数制:用"逢基数进位"的原则进行计数。十进制是"逢十进一",二进制是"逢二进一"。
- 数码:0~9 这些数字符号称为数码。
- 基数:进位计数制中所用的数码的个数,用 R 表示。十进制基数是 10,二进制基数是 2。
- 位权:进位以后的数字按所在位置的前后代表不同数值。
- 从个位起往左依次编号为 0, 1, 2, …;小数点后的数位为 -1, -2, …。
- 举例:
- 十进制 110:百位 1 = 1×10² = 100;十位 1 = 1×10¹ = 10;个位 0 = 0×10⁰ = 0。
- 二进制 110:高位 1 = 1×2² = 4;低位 1 = 1×2¹ = 2;最低位 0 = 0×2⁰ = 0。
- 十六进制 110:高位 1 = 1×16² = 256;低位 1 = 1×16¹ = 16;最低位 0 = 0×16⁰ = 0。
- 结论:各位数字所表示值的大小不仅与该数字本身有关,还与所在位置有关,这关系称为数的位权。
- 十进制位权以 10 为底的幂,二进制以 2 为底,十六进制以 16 为底;数位由高向低以降幂排列。
- 位权与基数的关系:位权 = 基数ⁿ(n 为数码的位置)。
- 按位权展开:任何一种数制表示的数都可以写成按位权展开的多项式之和。
- 例:1234.5 = 1×10³ + 2×10² + 3×10¹ + 4×10⁰ + 5×10⁻¹;其中 10³、10²、10¹、10⁰、10⁻¹ 即为该位位权,数码与位权的乘积就是该位数值。
五、进位计数制的表示方法
- 在数字后面加写相应英文字母作标识:
- 二进制 B;八进制 O/Q;十进制 D(可省);十六进制 H。
- 在括号外面加数字下标:
- (1101)₂、(3174)₈、(6678)₁₀、(2DF6)₁₆。
六、进制数的转换(9 种方法)
1. 十进制整数 → 其他进制整数(除基数取余法)
- 规则:连续除以基数,直到商为 0,从下向上(倒序)取值。
- 例:101 → 二进制
- 101÷2=50 余 1;50÷2=25 余 0;25÷2=12 余 1;12÷2=6 余 0;6÷2=3 余 0;3÷2=1 余 1;1÷2=0 余 1
- 结果:101 = 1100101B
- 例:101 → 十六进制(基数换 16)
- 101÷16=6 余 5;6÷16=0 余 6
- 结果:101 = 65H
- 综上:101 = 1100101B = 145Q = 65H
2. 十进制小数 → 其他进制小数(乘基数取整法)
- 规则:乘基数取整,一直到乘积为 0 或达到要求精度数位为止,从上向下(顺序)取值。
- 例:0.125 → 二进制
- 0.125×2=0.25 整数 0;0.25×2=0.5 整数 0;0.5×2=1.0 整数 1;0×2=0
- 结果:0.125 = 0.001B = 0.1Q = 0.2H
- 注意:不是所有十进制小数都能精确地转换为其他进制的小数。
3. 其他进制数 → 十进制数
- 规则:按位权展开的多项式之和。
- 例:
- 1011.11B = 1×2³+0×2²+1×2¹+1×2⁰+1×2⁻¹+1×2⁻² = 11.75D
- 125Q = 1×8²+2×8¹+5×8⁰ = 64+16+5 = 85D
- 1AH = 1×16¹+10×16⁰ = 26D
4. 二进制 → 八进制
- 规则:从小数点开始,整数部分向左、小数部分向右,每三位二进制数为一组,用一位八进制数表示,不足三位的用 0 补足。
- 例:11110110101.10101B = 011 110 110 101.101 010B = 3665.52Q
5. 二进制 → 十六进制
- 规则:从小数点开始,整数部分向左、小数部分向右,每四位二进制数为一组,用一位十六进制数表示,不足四位的用 0 补足。
- 例:11110110101.10101B = 0111 1011 0101.1010 1000B = 7B5.A8H
6. 八进制 → 二进制
- 规则:每一位八进制数用相应的三位二进制数代替,多余的 0 舍去。
- 例:326Q = 011 010 110B = 11010110B
7. 十六进制 → 二进制
- 规则:每一位十六进制数用相应的四位二进制数代替,多余的 0 舍去。
- 例:9F.8H = 1001 1111.1000B = 10011111.1B
8. 八进制 → 十六进制
- 规则:通常把八进制先转换为二进制,再把二进制转换为十六进制。
- 例:325Q = 011 010 101B = 11010101B = 1101 0101B = D5H
9. 十六进制 → 八进制
- 规则:也用二进制做中介。
- 例:9B.8H = 1001 1011.1000B = 010 011 011.100B = 233.4Q
豆包作业
任务检测
其他作业
任务描述
人类在发展过程中,对物体的数量统计天然地选择了十进制。几乎所有人都熟悉并习惯应用十进制。计算机的计数规则却是二进制,同时又有八进制、十六进制,它们之间有密切的关系。
预备知识
一、进位计数制
进位计数制以十进制为例,数码:0~9这些数字符号称为数码。基数:全部数码的个数称为基数,用R来表示,计数规则是逢基数进一。
-
十进制 不加标注,或加后缀D。 由于人类解剖学的特点,双手共有十根手指,故在人类自发采用的进位制中,十进制是使用最为普遍的一种。十进制的基数R为10,数码由0-9组成,计数规律逢十进一。
-
二进制 计算机内部的电子部件只有电流“通”“断”(或电压“高”“低”)两种工作状态,因此计算机能够直接识别的只是二进制数。这就使得它所处理的所有信息,都是由1和0组成的二进制数的某种编码。二进制由两个数码0,1组成,基数R是2,运算规律是逢二进一。 为区别于其他进制,二进制数的书写通常在数的右下方注上基数2,或在后面加B表示。例如:二进制数10110011可以写成(10110011)2,或写成10110011B。对于计算机领域我们之所以采用二进制进行计数,是因为二进制制具有以下优点: (1)二进制数中只有两个数码0和1,可用具有两个不同稳定状态的元器件来表示一位数码。例如,电路中某一通路的电流的有无,某一节点电压的高低,晶体管的导通和截止等。 (2)二进制数运算简单,大大简化了计算中运算部件的结构。二进制数的加法和乘法基本运算法则各有四条,如下: 0+0=0,0+1=1,1+0=1,1+1=10 0×0=0,0×1=0,1×0=0,1×1=1 (3)二进制天然兼容逻辑运算。 但是,二进制计数在日常使用上有个不便之处,就是位数往往很长,读写不便,如:把十进制的1000000D写成二进制就是11000011010100000B,所以计算机领域我们实际采用的是十六进制或八进制来表示。
-
八进制 由于二进制数据的基数R较小,所以二进制数据的书写和阅读不方便,为此,在小型机中引入了八进制。八进制的基数R=8=2^3,有数码0、1、2、3、4、5、6、7,并且每个数码正好对应三位二进制数,所以八进制能很好地反映二进制。八进制用下标8或数据后面加字母O表示,有时候为了区别字母O和数字0,也用Q来做八进制数的区别符。例如:二进制数据 (11101010.010110100)2对应八进制数据(352.264)8或352.264Q。
-
十六进制 由于二进制数在使用中位数太长,不容易记忆,所以又提出了十六进制数。 十六进制数有两个基本特点:它由十六个数码:数字0
9加上字母AF组成(它们分别表示十进制数10~15),十六进制数运算规律是逢十六进一,即基数R=16=2^4,通常在表示时用尾部标志H或下标16以示区别,例如,十六进制数4AC8可写成(4AC8)16,或写成4AC8H。
下面给出这些进位计数制的有关表示。如下表3-1-1常用计数制的基数和数码对照表和表3-1-2常用计数制的表示方法。
表3-1-1 常用计数制的基数和数码对照表
| 数制 | 基数 | 数码 | 区分符 |
|---|---|---|---|
| 二进制 | 2 | 0 1 | B |
| 八进制 | 8 | 0 1 2 3 4 5 6 7 | O/Q |
| 十进制 | 10 | 0 1 2 3 4 5 6 7 8 9 | D |
| 十六进制 | 16 | 0 1 2 3 4 5 6 7 8 9 A B C D E F | H |
表3-1-2 常用计数制的表示方法
| 十进制 | 二进制 | 八进制 | 十六进制 |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
二、几个概念
进位计数制:用“逢基数进位”的原则进行计数,称为进位计数制。十进制是“逢十进一”,二进制是“逢二进一”。
- 数码:0~9这些数字符号称为数码。
- 基数:进位计数制中所用的数码的个数,用R表示。如十进制基数是10,二进制基数是2。
- 位权:进位以后的数字,按其所在位置的前后,将代表不同的数值,表示各位有不同的位权。对于形式化的进制表示,我们可以从0开始,对数字的各个数位进行编号,即个位起往左依次为编号0,1,2,…;对称的,从小数点后的数位则是-1,-2,…。
举例:
- 一个十进制数110,其中百位上的1表示1个10²,即100,十位的1表示1个10¹,即10,个位的0表示0个10⁰,即0。
- 一个二进制数110,其中高位的1表示1个2²,即4,低位的1表示1个2¹,即2,最低位的0表示0个2⁰,即0。
- 一个十六进制数110,其中高位的1表示1个16²,即256,低位的1表示1个16¹,即16,最低位的0表示0个16⁰,即0。
可见,在数制中,各位数字所表示值的大小不仅与该数字本身的大小有关,还与该数字所在的位置有关,我们称这关系为位权。 十进制数的位权是以10为底的幂,二进制数的位权是以2为底的幂,十六进制数的位权是以16为底的幂。数位由高向低,以降幂的方式排列。
位权与基数的关系:位权 = 基数ⁿ(n为数码的位置) 例如:十进制数1234.5,可以展开成下面的多项式:
\[
1234.5 = 1 \times 10^3 + 2 \times 10^2 + 3 \times 10^1 + 4 \times 10^0 + 5 \times 10^{-1}
\]
式中:10³、10²、10¹、10⁰、10⁻¹等即为该位的位权,每一位上的数码与该位权的乘积,就是该位的数值。 任何一种数制表示的数都可以写成按位权展开的多项式之和。
三、进位计数制的表示方法
为了区分各种计数制的数,常采用如下方法:
- 在数字后面加写相应的英文字母作为标识
- 二进制:B
- 八进制:
O/Q - 十进制:D(可省)
- 十六进制:H
- 在括号外面加数字下标
- (1101)₂
- (3174)₈
- (6678)₁₀
- (2DF6)₁₆
四、进制数的转换
1. 除基数取余法
十进制整数转换为其他进制整数
规则:连续除以基数,直到商为0,从下向上(倒序)取值。
例子:把101转化为二进制数 解:
\[
\begin{align*}
101 \div 2 &= 50 \quad \text{余数} \ 1 \\
50 \div 2 &= 25 \quad \text{余数} \ 0 \\
25 \div 2 &= 12 \quad \text{余数} \ 1 \\
12 \div 2 &= 6 \quad \text{余数} \ 0 \\
6 \div 2 &= 3 \quad \text{余数} \ 0 \\
3 \div 2 &= 1 \quad \text{余数} \ 1 \\
1 \div 2 &= 0 \quad \text{余数} \ 1 \\
\end{align*}
\]
从下向上取余数:101₁₀ = 1100101₂
50 ÷ 2 = 25 余数0
25 ÷ 2 = 12 余数1
12 ÷ 2 = 6 余数0
6 ÷ 2 = 3 余数0
3 ÷ 2 = 1 余数1
1 ÷ 2 = 0 余数1
所以101 = 1100101B
同理,把十进制数转换为十六进制数时,将基数2转换成16就可以了。 例:将101转换为十六进制数 解:101 ÷ 16 = 6 余数5 6 ÷ 16 = 0 余数6 所以101 = 65H 其他进制类似。 101 = 1100101B = 145Q = 65H
2.乘基数取整法
十进制小数转换为其他进制小数 规则:乘基数取整,一直到乘积为0,或已达到要求精度位数为止,从上向下(顺序)取值。 例如:把0.125转化为二进制小数 0.1252=0.25 整数为0 0.252=0.5 整数为0 0.52=1.0 整数为1 02=0 0.125=0.001B 其他进制类似。 0.125=0.001B=0.1Q=0.2H 注意:不是所有的十进制小数都可以精确地转换为其他进制的小数。
3.位权相加法
其他进制数转换为十进制数
规则:按位权展开的多项式之和 例如:1011.11B=12³+02²+12¹+12⁰+12^(-1)+12^(-2) = 11.75D 125Q=18²+28¹+58⁰=64+16+5=85D 1AH=116¹+10*16⁰=26D
4.三位分组法
二进制转换为八进制 规则:从小数点开始,整数部分向左,小数部分向右,每三位二进制数为一组用一位八进制数表示,不足三位的用0补足。 例如:11110110101.1010 1B=011 110 110 101.101 010B=3665.52Q
5. 四位分组法
二进制转换为十六进制 规则:从小数点开始,整数部分向左,小数部分向右,每四位二进制数为一组用一位十六进制数表示,不足四位的用0补足。 例如:11110110101.10101B=0111 1011 0101.1010 1000B=7B5.A8H
-
八进制转换为二进制 规则:每一位八进制数用相应的三位二进制数代替,多余的0舍去。 例如:326Q=011 010 110B=11010110B
-
十六进制转换为二进制 规则:每一位十六进制数用相应的四位二进制数代替,多余的0舍去。 例如:9F.8H=1001 1111.1000B=10011111.1B
6.二进制媒介法
-
八进制转换为十六进制 规则:通常把八进制先转换为二进制,再把二进制转换为十六进制。 例如:325Q=011 010 101B=11010101B=D5H
-
十六进制转换为八进制 规则:也是用二进制做中介。 例如:9B.8H=1001 1011.1000B=010 011 011.100B=233.4Q
任务检测
一、选择题
- 二进制数10110111转换成十进制数为() A. 183 B. 185 C. 197 D. 195
- 二进制数11000011转换成十进制数为() A. 183 B. 185 C. 197 D. 195
- 下列四个不同进制的数中,最大的一个是() A. (2E)₁₆ B. (45)₁₀ C. (37)₈ D. (110001)₂
- 将二进制数101101101101.11转换成八进制数是() A. 5555.6 B. 4535.6 C. 5055.6 D. 5105.4
- 将十进制数59转换为二进制数是() A. 101011 B. 111011 C. 111001 D. 110111
- 将二进制数1101101110转换为八进制数是() A. 1555 B. 1556 C. 1557 D. 1558
- 下列各种进制的数中最小的数是() A. (213)D B. (10A)H C. (335)O D. (110111000)B
- 十六进制3FC3转换为相应的二进制是() A. 11111111000011 B. 01111111000011 C. 01111111000001 D. 11111111000001
- 将十进制数25.3125转换成十六进制数是() A. 19.4 B. 19.5 C. 20.4 D. 20.5
- 将十进制的整数化为N进制整数的方法是() A. 乘N取整法 B. 除N取整法 C. 乘N取余法 D. 除N取余法
二、判断题
- 同样的一个数值11,在不同进制中所表示的值是不一样的()
- 二进制数11001转换成十进制数是25()
- 十六进制数79对应的十进制数为247()
- 十六进制数289可以表示为289H()
- 十进制小数都可以精确地转化为其他进制的小数()
三、填空题
-
在一个非零无符号二进制整数之后添加一个0,则此数的值为原数的____倍。
-
将十进制数214转换为八进制数是____。
-
将十进制数216转换为十六进制数是____。
-
十进制小数0.6875转换成二进制小数是____。
-
有一个数值为152,它与十六进制数6A等值,则该数值是____进制数。
-
将十进制数81转换为十六进制数的结果是() A. (51)₁₆ B. (54)₁₆ C. (55)₁₆ D. (61)₁₆
-
十进制数110转换成二进制数是() A. 01100110 B. 01101000 C. 01101110 D. 01100100
知识点整理
- 信息如何在计算机中表示?
- 进位计数制是什么 答案:按进位方式来计数的规则
- 数码是什么
- 基数是什么
- 位权是什么
- 位权与基数的关系是什么
- 计数规则是什么
- 十进制是什么?如何表示
- 二进制是什么?如何表示
- 二进制的优点是什么
- 八进制是什么?如何表示
- 十六进制是什么?如何表示
- 常用计数制的计数和数码对照表
- 常用计数制的表示方法
- 进位计数制的表示方法是什么
- 十进制整数转为二进制数的方法是 i 什么
- 十进制整数转为十六进制数的方法是 i 什么
- 十进制小数转为二进制小数的方法是 i 什么
- 其他进制数转为十进制数的方法是什么
- 二进制转为八进制的方法是什么
- 二进制转为十六进制的方法是什么
- 八进制转为二进制的方法是什么
- 十六进制转为二进制的方法是什么
- 八进制转为十六进制的方法是什么
- 十六进制转为八进制的方法是什么
金句
- 进制是工具,不是信仰。哪个方便用哪个。
到底应该用哪种?
没有"应该",只有"合适": 跟人打交道 → 十进制(默认) 跟计算机硬件打交道 → 二进制 写代码、看内存地址 → 十六进制(短、整齐) 读文件权限、Unix权限 → 八进制 记住一句话:脱离场景谈进制,没有意义。 就像你不会用二进制数钱,也不会用十进制写机器码——谁方便谁上。
但你手机里所有的照片、视频、游戏、代码——全是它们两个写出来的。
生活用十根手指发明了十进制,计算机用通断两种状态选择了二进制。
既然要表示数,所以,进制首先规定了表示数的符号,我们称之为“数码“。
开场
我是村长,带你秒懂进制。
进制就在你身边,你每天都在用,只是没意识到。
“一年 12 个月,是十二进制。 一周 7 天,是七进制。 一小时 60 分钟,是六十进制。
但你有没有想过——为什么我们最熟悉的,偏偏是十进制? 答案可能简单到令人发指:因为人有十根手指。 那计算机为什么不用十进制? 因为它只有通电和断电两种状态。 所以它只能认识二进制:0 和 1。
进制,就是规定"满几进一"的计数规则。 但就是这套规则,卡住了无数人。 其实它只有三个核心概念:数码、基数、位权。
今天,我从头开始,把进制彻底掰开揉碎讲给你听。
规则一 数码
数码,就是进制里用来表示数的符号。 几进制,就有几个数码。 十进制有0 到 9十个数码。 八进制有0 到 7八个数码。 “十六进制有16个数码:0到9,再加A、B、C、D、E、F,分别代表10到15。” 二进制只有0 和 1两个数码。 但就是这两个符号,撑起了整个数字世界。
规则二:基数
基数就是数码的个数。
- 十进制有10个数码,基数是10。
- 八进制有8个数码,基数是8。
- 十六进制有16个数码,基数是16。
- 二进制只有2个数码,基数是2。
基数是 10,意味着达到 10 就向高位进 1,这就是十进制,例如: 9 + 2 = 11,个位数达到 10 就向高位进1,结果写作十一。 基数是 8,意味着达到 8 就向高位进 1,这就是八进制,例如: 7 + 2 = 11,个位数达到 8 就向高位进1,结果写作11。 基数是 16,意味着达到 16 就向高位进 1,这就是十六进制,例如: F + 2 = 11,个位数达到 16 就向高位进 1,结果写作11,相当于十进制的 17
同样的“11”,因为基数不同,实际大小天差地别。
所以请记住:满几进一,就是几进制。
规则三:位权
好!终于讲到了位权。
前面讲的都是铺垫,位权才是进制里最核心、最硬核的概念。只有搞懂位权,你才真正明白一个数在计算机里到底代表多少。
位权,就是“每个位置上的1所代表的真实大小”。
同样是数字1,站在不同位置上,身价完全不同:
个位上的1 → 代表1 十位上的1 → 代表10 百位上的1 → 代表100 千位上的1 → 代表1000
位置变了,1的身价就变了。这个身价,就是位权。
位权的计算公式: 位权 = 基数的 N 次方
字母N 表示该数字所在位置的序号。以十进制623为例:
百位 十位 个位
6 2 3
↓ ↓ ↓
6×10² + 2×10¹ + 3×10⁰
= 600 + 20 + 3
= 623
从右往左数,第1位的n是0,第2位的 N是1,第3位的 N是2,依次类推
基数是 10,所以
- 个位的位权等于 10 的零次方,也就是 1
- 十位的位权等于 10 的1次方,结果等于 10
- 百位的位权等于 10 的2次方,结果等于 100
知道位权,就能算出每一位的真实大小。
百位是6,所以它代表 6×100 = 600; 十位是2,就是 2×10 = 20; 个位是3,就是 3×1 = 3。 最后,把它们加起来:600 + 20 + 3,正好等于623。 你看,位权一清二楚,每个数字的真实大小就全明白了。 换成二进制,规则完全一样——只是把10换成2。
二进制一零一的实际大小是十进制 5 比如:以二进制101为例
第2位 第1位 第0位
1 0 1
↓ ↓ ↓
1×2² + 0×2¹ + 1×2⁰
= 4 + 0 + 1
= 5
1×4 + 0×2 + 1×1 = 5
你看:数码决定用什么符号,基数决定怎么进位,位权决定每个位置值多少。三者合力,一个数的真实大小就确定了。
补充:如何标注进制
同样的一个数,在不同进制下可能代表不同的数
为了避免混淆,人们约定了两种标注方式。
方法一 字母后缀法
就是在数字后面加一个字母标明进制,比如
字母B 表示二进制 字母O 表示八进制 字母d 表示十进制 字母h 表示十六进制
规律很简单: 字母 B 是二进制英文单词 Binary 的首字母。 字母 O 是八进制英文单词 Octal 的首字母 字母 D 是十进制英文单词 Decimal 的首字母 字母 H 是十六进制英文单词 Hex 的首字母
唯一例外是八进制——O 长得像数字 0,容易看错,所以有些场景写成 Q。
另外,十进制最常用,所以后缀D 通常可以省略不写,默认就是十进制。
| 进制 | 后缀 | 示例 | 注释 |
|---|---|---|---|
| 二进制 | B | 1010B | B: Binary |
| 八进制 | O 或 Q | 317O / 317Q | O: Octal |
| 十进制 | D | 6678D = 6678 | D: Decimal(可省略) |
| 十六进制 | H | 2DF6H | H:Hex |
方法二 下标法
把进制写在数字右下角,右下角写几,就是几进制。
(1101)₂ 是二进制,(11)₈ 是八进制,(11)₁₀ 是十进制,(11)₁₆ 是十六进制。
这种写法多见于教材和试卷,一眼就能看清进制。
结束语
数码是演员,基数是舞台,位权是身价。 三要素凑齐,进制的底层逻辑才算真正打通。 下期预告:进制转换——任意进制之间,怎么快速互转?
关注村长,带你秒懂计算机的底层世界。
进位计数制完整清单
| 基数 | 名称 | 主要用途 / 文化背景 |
|---|---|---|
| 2 | 二进制 | 计算机数字计算的核心;英制/美制容量单位 |
| 3 | 三进制 | 康托尔集;伊斯兰教念珠计数(泰斯比赫);最经济的整数进制 |
| 4 | 四进制 | 丘马什语族(北美原住民语言)、佉卢文数字 |
| 5 | 五进制 | 常用计数分组 |
| 6 | 六进制 | Diceware(骰子密码法)、恩多姆语、卡努姆语、原始乌拉尔语(推测) |
| 7 | 七进制 | — |
| 8 | 八进制 | Unix/Linux 文件权限、Squawk 代码、尤基语、帕梅语;二进制的紧凑记法;先天八卦(中国《易经》) |
| 9 | 九进制 | 三进制的紧凑记法 |
| 10 | 十进制 | 当代社会最广泛使用的进制 |
| 11 | 十一进制 | 19世纪被误认为毛利人使用,法国大革命期间短暂提议; |
| 12 | 十二进制 | 尼日利亚中部地带语言、尼姆比亚方言;12小时制、12个月、十二生肖、英尺-英寸;罗马分数 |
| 13 | 十三进制 | 康威十三进制函数 |
| 14 | 十四进制 | HP 9100A/B 计算器编程、图像处理应用 |
| 15 | 十五进制 | IP 电话路由、胡利语 |
| 16 | 十六进制 | 二进制数据的紧凑记法;尼斯特伦姆的音调系统 |
| 17 | 十七进制 | — |
| 18 | 十八进制 | — |
| 19 | 十九进制 | — |
| 20 | 二十进制 | 巴斯克语、凯尔特语、穆伊斯卡语、因纽特语、约鲁巴语、特林吉特语、宗喀语数词;桑塔利语、阿伊努语 |
| 5 & 20 | 五-二十混合进制 | "从阿拉斯加沿太平洋海岸到奥里诺科河和亚马逊河整个地区广泛使用" |
| 21 | 二十一进制 | 所有 1/2 到 1/18 的分数循环节长度≤4 的最小进制 |
| 23 | 二十三进制 | 卡拉姆语 |
| 24 | 二十四进制 | 24小时制;希腊字母;考格尔语 |
| 25 | 二十五进制 | 五进制的紧凑记法 |
| 26 | 二十六进制 | 有时用于加密/编码(使用全部英文字母); |
| 27 | 二十七进制 | 三进制的紧凑记法 |
| 30 | 三十进制 | 自然区域编码(NAC);所有 1/2 到 1/6 都能整除的最短进制——当且仅当 1/n 在三十进制中整除时,n 为正则数 |
| 32 | 三十二进制 | 恩吉蒂语;用于将计算机(二进制)数据编码为无混淆字符(如 0 与 O、8 与 B 的区分)的字母数字字符串(RFC 4648),每字符表示 5 比特 |
| 34 | 三十四进制 | 1/2 整除且所有 1/2 到 1/18 的分数循环节长度≤4 的最小进制 |
| 36 | 三十六进制 | 将大数编码为字母数字字符串(26个字母 + 10个数字);六进制的紧凑记法 |
| 40 | 四十进制 | DEC RADIX 50/MOD40 编码,用于紧凑表示 DEC 计算机上的文件名和其他符号。字符集为 ASCII 子集:空格、大写字母、标点符号"$"、"."、"%"和数字 |
| 42 | 四十二进制 | 所有最小素数已知的最大进制 |
| 47 | 四十七进制 | 未知广义 Wieferich 素数的最小进制 |
| 50 | 五十进制 | SQUOZE 编码,用于紧凑表示某些 IBM 计算机上的文件名和其他符号;使用全部古尔穆基字符 + 古尔穆基数字编码 |
| 60 | 六十进制 | 巴比伦数字和苏美尔人;度-分-秒和时-分-秒计量系统;埃卡里语;除了 I、O、l 之外覆盖了 62 进制(但包含下划线"_") |
| 64 | 六十四进制 | 用于将计算机(二进制)数据编码为相对紧凑的字符串,每字符表示 6 比特(RFC 4648) |
废弃口播稿
大家好!我是村长! 无论是为了学编程打基础,还是为了应付考试, 听完这节课,让你把二进制踩在脚下。
掌握二进制,你需要搞懂以下知识点: 第一,搞懂 4 个概念 第二,4 种表示方法 第三,六句口诀记住进制转换
推荐一些计算机科普视频的开场白范文 推荐一些计算机科普视频的结束语范文
主题:《村长讲计算机科普》第 1 集:进位进数制是什么
“满十进一,叫十进制。满二进一,叫二进制。进制,就是‘满几进一’的计数规则。我是村长,这一集,三分钟讲清楚它。”
进位计数制三要素
比如:5 + 6 = 11,右边的‘1’代表1,左边的‘1’代表10, 之所以这样计数,就是因为你把10 看成一个计数单位去计数,也就是把 10 看成一个整体,“逢十进一”, 同理,二进制就是把 2 看成一个整体去计数,“逢二进一”。比如
1 + 1 = 10 右边的“0“还是 0,左边的“1“代表 2,读作“一零“。
八进制就是你把 8 看成一个整体去计数,“逢 8 进一“,比如 7 + 3 = 12 右边的“2“代表 2,左边的 1 代表 8
同一个数,可以用不同的数制来表示。只是进位的规则不同。
基数
在《进位计数制是什么》的视频中,我们提到:你把10 看成一个计数单位去计数,也就是把 10 看成一个整体,“逢十进一”, 这里的“计数单位”就叫基数。用R表示。如
- 十进制的基数是 10
- 二进制的基数是 2
- 八进制的基数是 8
每一位数,当达到某个数量以后,就向高一位进一。
这个"达到某个数量",就是不同进制之间最大的区别。
例如:
十进制,满10进1。
二进制,满2进1。
八进制,满8进1。
十六进制,满16进1。
因此,我们平时使用的十进制,其实只是众多进位计数制中的一种。
基数也可以理解为数码的个数。
数码是什么
最后,我们再补充一个词:数码。
数码 = 进制中使用的每一个数字符号。 十进制的数码:0, 1, 2, 3, 4, 5, 6, 7, 8, 9 二进制的数码:0, 1 八进制的数码:0, 1, 2, 3, 4, 5, 6, 7 十六进制的数码:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 数码是个体,基数是总数,位权是每个位置的倍数。
这三个词合在一起,就是进制的全部秘密。 奇奇: 总结一下:
数码 → 能用的符号 基数 → 有多少个符号(就是"逢几进一"的"几") 位权 → 每个位置的身价(基数^位置编号) 村长: 完美!你看,就这么简单。
数码就是指数制里允许出现的的符号。 在十进制里,允许使用的数码有 10 个,分别是:0, 1, 2, 3, 4, 5, 6, 7, 8, 9。 注意,十进制里是没有“单独的十”这个符号的,想表示十,必须用 1 和 0 组合。
十进制的数码:0, 1, 2, 3, 4, 5, 6, 7, 8, 9 二进制的数码:0, 1 八进制的数码:0, 1, 2, 3, 4, 5, 6, 7
需要注意的是,数码也可以是字母,比如: 十六进制的数码:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 超过 9 以后,使用 ABCDEF表示10-15。
进位计数制的表示方法
比如 11,如果不指明进制,你很难判断它实际表示的数值大小
位权是什么
如果我问你‘11’这个数字,它到底代表多少?
你会说:十一啊。
好,那我再问你:为什么右边的‘1’是1,左边的‘1’却是10?
因为,数字的大小不仅取决于它自己,还取决于它站的位置!
如果1站在‘个位’,代表1;如果1站在‘十位’,就代表10。
像这样,通过‘位置’来决定数值大小的计数规则,就叫‘进位计数制’。”
问题来了!为什么左边的 1 代表 10?
进位计数制:用“逢基数进位”的原则进行计数,称为进位计数制。十进制是“逢十进一”,二进制是“逢二进一”。
- 数码:0~9这些数字符号称为数码。
- 基数:进位计数制中所用的数码的个数,用R表示。如十进制基数是10,二进制基数是2。
- 位权:进位以后的数字,按其所在位置的前后,将代表不同的数值,表示各位有不同的位权。对于形式化的进制表示,我们可以从0开始,对数字的各个数位进行编号,即个位起往左依次为编号0,1,2,…;对称的,从小数点后的数位则是-1,-2,…。
举例:
- 一个十进制数110,其中百位上的1表示1个10²,即100,十位的1表示1个10¹,即10,个位的0表示0个10⁰,即0。
- 一个二进制数110,其中高位的1表示1个2²,即4,低位的1表示1个2¹,即2,最低位的0表示0个2⁰,即0。
- 一个十六进制数110,其中高位的1表示1个16²,即256,低位的1表示1个16¹,即16,最低位的0表示0个16⁰,即0。
可见,在数制中,各位数字所表示值的大小不仅与该数字本身的大小有关,还与该数字所在的位置有关,我们称这关系为位权。 十进制数的位权是以10为底的幂,二进制数的位权是以2为底的幂,十六进制数的位权是以16为底的幂。数位由高向低,以降幂的方式排列。
位权与基数的关系:位权 = 基数ⁿ(n为数码的位置) 例如:十进制数1234.5,可以展开成下面的多项式:
\[
1234.5 = 1 \times 10^3 + 2 \times 10^2 + 3 \times 10^1 + 4 \times 10^0 + 5 \times 10^{-1}
\]
式中:10³、10²、10¹、10⁰、10⁻¹等即为该位的位权,每一位上的数码与该位权的乘积,就是该位的数值。 任何一种数制表示的数都可以写成按位权展开的多项式之和。
像这样,通过‘位置’来决定数值大小的计数规则,就叫‘进位计数制’。”
首先,你要明白一个道理,无论二进制、八进制、十进制、还是十六进制 都是一种表示数的方法。同一个数,可以用不同的数制来表示。只是进位的规则不同。
如果我问你‘11’这个数字,它到底代表多少?
你会说:十一啊。
好,那我再问你:为什么右边的‘1’是1,左边的‘1’却是10?
因为,数字的大小不仅取决于它自己,还取决于它站的位置!
如果1站在‘个位’,代表1;如果1站在‘十位’,就代表10。
像这样,通过‘位置’来决定数值大小的计数规则,就叫‘进位计数制’。”
问题来了!为什么左边的 1 代表 10?
很简单,你把 10 看成一个计数的单位,满10 就进位。
那为什么人类在发展过程中,对物体的数量统计天然地选择了十进制。 答案更是简单到令人发指:因为我们有 10 根手指,这样计数更方便。
几乎所有人都熟悉并习惯应用十进制。
比如:十进数57(10),可以用二进制表示为111001(2),也可以用五进制表示为212(5),同时也可以用八进制表示为71(8),可用十二进制表示为49(12),亦可用十六进制表示为39(16),它们所代表的数值都是一样的。
计算机的计数规则却是二进制,同时又有八进制、十六进制,它们之间有密切的关系。
为什么计算机不用我们熟悉的十进制? 什么是二进制? 什么又是基数、位权、数码?
今天我们讲“数制“,也就是进位计数制。
不知道大家有没有想过一个问题:为什么我们平时数钱、数人数,都是逢十进一?而算时间的时候,60秒是一分钟,24小时是一天?计算机里,更是只有 0 和 1。
很多初学者第一次看到二进制、八进制、十六进制的时候,都会觉得很陌生。
数码
① 数码(Digits) 数码,就是指这个进制里允许使用的基本符号。 在十进制里,允许使用的数码有 10 个,分别是:0, 1, 2, 3, 4, 5, 6, 7, 8, 9。 注意,十进制里是没有“单独的十”这个符号的,想表示十,必须用 1 和 0 组合。
常见进制
12个月是一年 60 秒是 1 分钟
理解了这三个概念,我们再来看计算机世界里最常见的四种进制,就非常简单了:
进制名称 基数 用的数码 进位规则 应用场景
十进制 10 0 ~ 9 逢十进一 人类日常生活中最习惯的进制
二进制 2 0, 1 逢二进一 计算机底层电路(高低电平)唯一能懂的语言
八进制 8 0 ~ 7 逢八进一 早期用于简化二进制书写
十六进制 16 09, AF 逢十六进一
小细节提醒:十六进制因为需要 16 个符号,0~9 只有 10 个,所以借用了字母 A, B, C, D, E, F 分别代表 10, 11, 12, 13, 14, 15。
基数是什么
一种进位制中可以使用的数字符号的数目,称为这种进位制的基数或底数。若一个进位制的基数为 n ,即可称之为 n进位制,简称 n进制。现在最常用的进位制是十进制,这种进位制通常使用10个阿拉伯数字(即 0-9 )进行记数。
基数,就是指这个进制里一共包含了多少个不同的数码。 十进制用了 0~9 这 10 个符号,所以它的基数就是 10。 二进制只用 0 和 1 这 2 个符号,它的基数就是 2。 一句话总结:基数是几,就是逢几进一!
位权是什么
位权,就是“每个位置上的 1 所代表的真实大小”
同样是数字 1,站在不同的位置上,身份完全不同:
个位上的 1 → 代表 1 十位上的 1 → 代表 10 百位上的 1 → 代表 100 千位上的 1 → 代表 1000 位置变了,1 的“身价”就变了。这个“身价”,就是位权。
位权的计算公式
位权 = 基数 ^ 位置编号 位置编号从 0 开始,从右往左数。
位置 千位 百位 十位 个位 位置编号 3 2 1 0 十进制位权 10³ = 1000 10² = 100 10¹ = 10 10⁰ = 1 二进制位权 2³ = 8 2² = 4 2¹ = 2 2⁰ = 1
搞懂位权后,我们就可以用公式算出一个数的真实大小
数值 = Σ(每一位的数码 × 该位的位权)
例如:十进制数 623 为例:
text 百位 十位 个位 6 2 3 ↓ ↓ ↓ 6×10² + 2×10¹ + 3×10⁰ = 600 + 20 + 3 = 623 以二进制数 101 为例:
text 第2位 第1位 第0位 1 0 1 ↓ ↓ ↓ 1×2² + 0×2¹ + 1×2⁰ = 4 + 0 + 1 = 5 一句话总结
位权,就是每个位置的身价,决定了同一个数字在不同位置上的价值。
位权表示每个位置上的 1 的大小。
比如111
比如 623
这个概念最关键!为什么同样是数字 2,在 “222” 这三个位置上,代表的大小完全不一样? 最右边的 2 代表 2×1(2个一) 中间的 2 代表 2×10(2个十) 左边的 2 代表 2×100(2个百) 这里的“一”、“十”、“百”,就是各个位置上的位权! 在数学上,位置的权值就是 “基数的次方”: 个位是 10 0 =1 十位是 10 1 =10 百位是 10 2 =100 不管什么进制,只要把“每个位置上的数码”乘上“对应的位权”再相加,就能算出它的真实大小!