首页
学习
活动
专区
圈层
工具
发布

二进制没2,八进制没8,十进制却有10?你可能理解错了

准确地说,应该是:

在 N 进制中,最大的单个数字符号是 N-1。

当数值达到 N 时,就需要向高位进位,即满N进一。

比如,十进制:

N=10,最大的单个字符是 N-1=9。

当9再加1,达到N之后,向高位进一,变成10。

注意这里的“10”可不是十进制里的比9大的数字字符,而是代表十位为1,个位为0。

01

位值制

十位为1,个位为0,这是位值制,也叫位值记数法。

位值制是我们现在常用的、习惯的记数法。

核心规则是:

把数字写在不同的位置上,不同位置权值不同,那么数字代表的数值大小也是不一样的。

比如2486:

千位上是2,代表这里有两个千;

百位上是4,代表这里有四个百;

十位上是8,代表这里有八个十;

个位上是6,代表这里有六个一。

写成展开式就是2486=2×1000+4×100+8×10+6×1。

采用位值制表示数,我们只需要很少的数字就能表示很大的数。

而2486用罗马数字表示就是MMCDLXXXVI。

——很长对不对?罗马数字没有位值制,它们是累加制。

现在世界上基本都用阿拉伯数字。

阿拉伯数字其实源自印度,由阿拉伯商人传播到其他地方。

印度是有位值制的,而且基于十进制。

所以,今天大部分人都使用基于十进制的位值制系统。

习惯了十进制,谈其他进制是很陌生的。

以至于说到二进制、八进制,甚至五进制、十六进制,我们第一反应是它们满2,8,5,16进一。

然而,我们忽略了一个更重要的点:其实,其他进制的搭建,也基于位值制。

02

其他进制,也基于位值制

比如二进制。

100011,它是十进制的35。

左边第一个1,代表位值32,即2的5次方,这里有1个32;

第二个数字0,代表位值16,即2的4次方,这里有0个16;

第三个数字0,代表位值8,即2的3次方,这里有0个8;

第四个数字0,代表位值4,即2的2次方,这里有0个4;

第五个数字1,代表位值2,即2的1次方,这里有1个2;

第六个数字1,代表位值1,即2的0次方,这里有1个1。

只不过十进制的位值(权值)是个十百千万十万这些,它们分别是10的0次,1次,2次,3次,4次,5次方。

而二进制的位值是2的0-N次幂。

八进制,也基于位值制。

比如,十进制的156用八进制表示是234。

2,位值是64,也就是8的二次方,这里有2个64;

3,位值是8,也就是8的一次方,这里有三个8;

4,位值为1,也就是8的0次方,这里有4个1。

156=2×64+3×8+4×1

用八进制表示就是234,取系数,系数背后是位值。

其他进制也是,比如三进制,五进制,道理一样的。

核心都是位值制+系数,跟十进制一样。

03

进位

十进制里,满十进一:

有9个一,再来一个一,进位成一个十。

有9个十,再来一个十,进位成一个百。

够十了,我们要进一,来到更大的数位。

就像装糖果:

十个一个小袋子,小袋子满十个了装一个小箱子,小箱子满十个再装一个大箱子……

在八进制中:

一开始散装糖果,一个一个的,到了8个,就8个糖果装一个小袋子。

8个糖果的小袋子有8个,再来到64个糖果的小箱子。

够八了,进到更大的单位。

而在二进制运算中,数值小,变化快:

有了两个1,够2了,就要进一;

有了一个2,再来一个,还要进一,来到更大的单位4。

比如,10+10(二进制)=100。

用数学表达就是:

将权值2这里写成0,再将高位4这里写成1。

于是就是100(一零零)。

介绍了这么多进制,你有没有发现:

二进制,八进制是有2和8的,只不过2和8不是系数,而是权值。

十进制的十,也是权值,隐藏在后台。

而十进制里有10,这里的10不是系数,是一个十。

这里没有10这个数字(系数)——所以,你理解了吗?

  • 发表于:
  • 原文链接https://page.om.qq.com/page/ON85lciJmVfrGc-iRbTtVpNg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券