首页 > 其他分享 >起底“进制基数”:从“十根指数”到“无限可能”

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

时间:2024-09-13 19:51:20浏览次数:14  
标签:10 数数 进制 一组 952 起底 十根 基数 进位

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

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

最简单的是一只一只去数,但这样效率显然太慢了。记得小时候妈妈数院里的鸡,总是“一对、两对、三对……”这样数,数了多少对就是有多少个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个。

标签:10,数数,进制,一组,952,起底,十根,基数,进位
From: https://blog.csdn.net/jjmhx/article/details/142144814

相关文章

  • 信息学奥赛初赛天天练-88-CSP-S2023阅读程序1-数据类型、unsigned 关键字、二进制、位
    信息学奥赛初赛天天练-88-CSP-S2023阅读程序1-数据类型、unsigned关键字、二进制、位运算、左移、右移、异或运算PDF文档公众号回复关键字:202409132023CSP-S阅读程序1判断题正确填√,错误填⨉;除特殊说明外,判断题1.5分,选择题3分,共计40分)01#include<iostream>......
  • Python文件操作:文件的读取和写入(文本文件、二进制文件)①
    文章目录1.文件操作基础1.1打开文件1.2关闭文件2.文本文件操作2.1读取文本文件2.1.1逐行读取2.1.2读取所有内容2.1.3读取所有行2.2写入文本文件2.2.1写入内容2.2.2追加内容3.二进制文件操作3.1读取二进制文件3.2写入二进制文件4.综合示例4.1示例描......
  • HEXDUMP.EXE 是一个常用的工具,用于查看和显示二进制文件的内容,以十六进制格式呈现。它
    HEXDUMP.EXE是一种早期的计算机程序,用于显示文件的十六进制表示。其起源可以追溯到早期的计算机系统,特别是在UNIX操作系统中。最早的hexdump工具出现在UNIX系统中,它允许用户以十六进制和ASCII格式查看文件内容。这个工具在许多操作系统和编程环境中都得到了实现和扩展,以......
  • 【高级编程】Java IO流(下)字符流 Reader Writer 字节流读取二进制文件
    文章目录ReaderFileReaderBufferedReaderWriterFileWriterBufferedWriter读写二进制文件ReaderReader是一个抽象类,用于读取字符流。它是所有字符输入流的基类。Reader提供了一些基本的方法来读取字符数据intread()//读取单个字符,并返回一个整数。如果到达流......
  • Python存储与读写二进制文件
    技术背景一般情况下我们会选择使用明文形式来存储数据,如json、txt、csv等等。如果是需要压缩率较高的存储格式,还可以选择使用hdf5或者npz等格式。还有一种比较紧凑的数据存储格式,就是直接按照二进制格式存储。这种格式下,存储的数据之间没有间隔符,在没有压缩的情况下应该是......
  • 一个无符号的整数,如何翻转其二进制位?
    方法一:可以采用下面的方法,以32位整数为例:unsignedintv;//32-bitwordtoreversebitorder//相邻两位互相交换v=((v>>1)&0x55555555)|((v&0x55555555)<<1);//相邻的一对互相交换v=((v>>2)&0x33333333)|((v&0x33333333)<<2);/......
  • Python存储与读写二进制文件
    技术背景一般情况下我们会选择使用明文形式来存储数据,如json、txt、csv等等。如果是需要压缩率较高的存储格式,还可以选择使用hdf5或者npz等格式。还有一种比较紧凑的数据存储格式,就是直接按照二进制格式存储。这种格式下,存储的数据之间没有间隔符,在没有压缩的情况下应该是体积最......
  • 计算机之进制转换(二、八、十、十六进制)
    1、数的进制(1)数的进制包括二进制、八进制、十进制和十六进制,其中它们的表示方式分别为:                二进制:B   八进制:O\Q    十进制:D     十六进制:H(2)二进制、八进制、十进制和十六进制的数分别是:2、进制转换2.1十进制转为......
  • 非官方python二进制包 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 替代
    前两年的时候,由于偶尔会使用LFD中的二进制python包,但是下载地址都是加密的,不能直接给pip使用,因此为了方便自己把地址解密后做了一个目录页,并自动更新。今天看了一下页面发现包的更新时间都是前两年的,以为是自动更新程序出问题了,一番求证后发现原来是LFD的服务关闭了,幸好只关闭了......
  • 做题小结---进制专题
    第一个是进制转换的问题十进制转换n进制进制转化最需要明白的就是这个图了得到的数字再取反就是转化的数字了先取余后除就行了牛客周赛刚好考了这个题进制的好题了考的很好题这题很有思维难度首先我们可以想到2个k从一个k入手一个k满足的再看另一个k是否满足这......