ch03-koubo2
进位计数制三要素
比如: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 不管什么进制,只要把“每个位置上的数码”乘上“对应的位权”再相加,就能算出它的真实大小!