当前位置: 首页 > news >正文

起底“进制基数”:从“十根指数”到“无限可能”

如果你午夜梦回到了那个没有算力的年代,就算有部手机傍身也只能作为新款石器砸砸核桃而已。谁叫你在穿越的路上刷短视频把电耗个精光?

一个美丽的姑娘赶着一大群羊经过,你想算算自己有可能搞定多少财产,怎么办呢?

最简单的是一只一只去数,但这样效率显然太慢了。记得小时候妈妈数院里的鸡,总是“一对、两对、三对……”这样数,数了多少对就是有多少个2。这种两个一组的数数方式,本质上就是二进制,每数一组相当于进一位。

如果羊群太多,这种方式的缺陷就暴露出来了:2太多了。这时候怎么办呢?可以增加每次数的只数,比如每10个一组。10个一组是纯天然黄色选择,因为我们天生就有十根手指,想当年学数数都是从掰手指头开始的。同样的,数了多少组就意味着有多少个10,这种10个一组的数数方式,就是十进制,每数一组相当于进一位。

这种数数方式分为三步走:

首先要确定选择几个一组,它是数数的基础、班底,因此这个数被称为“基数”或“底数”。

二进制的基数是2,十进制的基数是10。

基数就像支撑大厦的柱子,整个计算机是由二根柱子支撑的,而我们用的数字大厦也只有十根柱子而已。

这真是令人叹为观止的发明。

其次,要确定进位,数了多少组就是进了多少位。

最后,不够一组的零头单独算。

比如你数了9527只羊,它的本质是这样的:

①基数:10只羊一组;

②进位:数了952组;

③零头:7只。

可以推想在没有数的概念的年代(不知道0-9这些数字符号,也不知道进位),我们也是可以用这种方式去数数的。

①数基数可以用掰手指代替,基本不用过脑子。

②进位可能麻烦一点,但有科学考证古时候人们曾通过刻道道或结绳计数,只不过952这个工作量有点大,还好古人的财产还不是很多。

③零头,同样可以采用第②种方式,当然划道道和前面的进位要分开划,这个工作量就很小了。

假设②用划道道的方式,③用绳结的方式,你就只需要划952个道道,再打7个绳结就OK了。虽然要划952个道道,但和傻瓜式的划9527个道道相比,还是有非常大的进步的。

但是道道总归还是有点多,当人们的财产越来越多时,这种方式就不够看了。于是,数字出现了。

9527这种记数法的高明之处就是对952个道道的处理,它通过滚动式进位,即“逢十进一”,使相邻的高一位的1组等于低一位的10组,这样就可以大大减少刻道道的数量,只用少数几个字符即可。

如果把“组”这个词换成“包”就更容易理解这一过程,进位是这样一个过程:

每10只羊打成1包,然后每10个一样的包就打成一个更大的包。

于是9527就变成了这样的东东:

最大的红色包包有9个,小一号的绿色包包有5个,再小一号的蓝色包包有2个,最后没有打包的有7个。


http://www.mrgr.cn/news/24620.html

相关文章:

  • 使用人力劳务灵工安全高效的发薪工具
  • Web server failed to start. Port XXX was already in use.
  • 蓝桥杯18小白第5题
  • MySQL 8.0授权语法变更及解决方案‌
  • 安全API
  • C++常用设计模式
  • 【鸿蒙应用】Grid和GridItem组件
  • [数据集][目标检测]汽车头部尾部检测数据集VOC+YOLO格式5319张3类别
  • 基于java+springboot+vue实现的林业产品推荐系统(文末源码+Lw)135
  • Python3网络爬虫开发实战(14)资讯类页面智能解析
  • 【一文看懂】Fanbox国内怎么支付?Fanbox PayPal付款失败?用下面的虚拟卡支付就可以了
  • 为AppInventor2开发自己的拓展(Extension) - 拓展开发入门篇
  • 免费云服务器申请教程
  • 安卓开发中LiveData的使用
  • openGauss增量备份与恢复技术详解及定时触发实现
  • DroidBot-GPT: GPT-powered UI Automation for Android论文学习
  • Vue组件:依赖注入provide和inject的使用
  • 代码随想录算法训练营day35
  • 架构理论碰撞:对比TOGAF、Zachman、DODAF和FEAF等主流架构框架
  • 龙蟠虎踞的搜索赛道,扛得住这场风云突变吗?