大家好,我是猴哥! 猴哥出品,必是精品,点击关注,给你好看!
持续更新通俗易懂的技术知识,为您护航充电!本文章节目录 一、一个有趣的问题:每位数为何永不大于9 二、打破"10"思维边界:只有0、1的二进制 三、计算机为什么要用二进制数而不是十进制数? 四、内存越大越好?让二进制告诉你
本文将使用通俗易懂的方式为大家介绍一个最重要的计算机知识基础一二进制数0、1! 也是为了让读者能够深入理解下篇作品(IP地址规则、类别、分配,网关,子网掩码)而做的铺垫文章,希望有助于读者的学习、面试和工作!
多种进制数
一、一个有趣的问题❶ 怀疑
我们从小到大在数学上学到的数字都是由0/1/2/3/4/5/6/7/8/9这十个数字构成,而且根本就没有人去怀疑为什么是这样?或者说这种计数方式有什么特点?
那么今天就带领读者来大胆怀疑一个我们每天都见却根本不会质疑的问题:
单个数位上的数永不大于9
❷ 进一步质疑
或许大家看到上图会有疑问,我们明明有数字是大于9的啊?比如10,23,133,9878...... 这些数字在数值上的确是大于9了,但我们上图中质疑的问题是每一位上的数字,每一个数位上的数,而不是整个数字的大小,也就是说我们会说九千九百九十九,而不会说十千十百十十十,或者更多数位大于9的数:
不会造这样的数
相信通过上面的陈述我们已经把怀疑的问题说的很清楚了,考虑到篇幅,这里我们不打算对这个问题追根溯源,而是直接告诉大家我们现在使用的这种数的特点,并由这个特点顺利的过渡到计算机数据,并深刻理解二进制数:0和1!
❸ 命名与特点
我们当前使用的数叫做十进制数(限于篇幅,不追溯发明),这种数的特点如下:
- 数字共有十个:0~9
- 任何位上最大数不会大于9
- 逢十进一:加法中和大于十则向高位进一
- 借一为十:减法中从高位借一到本位为十
十进制数特点
❹ 十进制数值的计算
上述特点我们就不通过公式来介绍了,相信能使用今日头条的读者肯定都已掌握。下面来看一下十进制数值的计算方式,也是十进制数最大且最重要的一个特点:
十进制数的组成
我们都知道的十进制值56941是由5个10万,6个万,1个千,9个百,4个十和1个一构成,那么这个组成用数学的形式表现便如上图中所示。
这里我们对上图说明一点——每个数位所乘的10的次方数是根据其后面数的个数确定的:
- 5是10万位,其后有5个数,那么5所代表的值就是5×10^5
- 6是万位,其后有4个数,那么6所代表的值就是6×10^4
- 以此类推
- 最后将上述值累加就得到了十进制值:561941
- 任何一个十进制数都能写成上述形式
上述计算方式其实也是将56941转换为十进制的方式,尽管它自己本身就是十进制数(记住这句话,下文有用)。
到此,我们已经将十进制数的名称,特点与值的计算方式说清楚了。那么我们就可以再思考一个问题:为什么要用十进制数来思考数值呢?能不能依葫芦画瓢,按十进制的方式自定义一种新的进制数呢?
新的进制数
答案当然是:肯定可以!
二、打破数字"10"的思维边界在《华为系列故事:黄金百战穿金甲》中孟晚舟提到了华为在创建初期打破的六个边界:作业、管理、控制、组织、思维、能力! 正因为华为打破了这些原有边界的烋锢,积极的尝试新方法、新工具、新理念、新的企业管理方式、新的人才培养模式…才有了其如今的辉煌,辉煌到当今1全球通信企业都难以匹敌的高度!
那么我们也可以打破十进制的思维边界,来创建新的进制数,莱布尼茨就做到了,他发明了二进制!下面请读者一定要突破思维,不要受十进制数的思维约束,这样更容易理解下文。
二进制数
❶ 什么是二进制数?
可以直接类比类比十进制数,得到二进制数的特点:
十进制与二进制对比
二进数数与我们常用的数唯一的区别就是只有0和1,最大值就是1。为进一步让读者理解二进制,下面我们将通过二进制的运算来加深讲解。
❷ 二进制计算——位运算
二进制数的计算叫做“位运算”。考虑到复杂度和理解难易度,这里我们只列举二进制的加、减法运算,乘除及更多位运算感兴趣读者自行查阅,学习!
二进制位运算
二进制位运算完全可以类比我们现在所学十进制数的运算,但只要记住一点:
- 逢十进一 → 逢二进一
- 借一为十 → 借一为二
❸ 二进制数值计算方式
由于二进制是计算机的思维方式,并不是人类的思维方式,所以我们还是习惯将二进制转换为自己常用的十进制数来思考问题。转换的方式可以就是类比十进制数的十进制值的计算方式:
二进制数到十进制数
二进制数转换为十进制数的方式和十进制数转换为十进制数本身的计算方式一致,只不过十进制是乘以10的幂次方,而二进制是乘以2的幂次方。读者可以自行计算更多十进制的二进制或者二进制数的十进制,如:
8 = 1000 10= 1010 ... 100=1100100
三、计算机为什么要用二进制数而不是十进制数?其实史上第一台计算机ENIAC就是采用的十进制数,设计方法是用十个晶体管来表示十进制数的一位,但这直接导致了这台计算机的笨拙、臃肿:
长30.48米,宽6米,高2.4米
占地170平方米
重达30英吨
耗电量150千瓦
造价48万美元
......
所以这种计算机虽说时代意义巨大,但实际应用价值几乎为0,所以冯诺依曼设计了基于二进制数的计算机数据存储方式,毕竟计算机的目的是:
为了高效的解决复杂问题:那么其设计势必不能繁琐,其数据计算势必要更简单、更快速。
那么了解上述前提之后,我们来看计算机采用二进制数的主要原因:
❶ 集成电路的稳定状态只有两种
计算机要保证可靠性、正确性必须要使用确定的数据。计算机的核心,也就是大脑CPU是由高密度晶体管构成的集成电路,而绝大多数电路都只有两种稳定状态:
- 电路:通——断
- 电压:高——低 或 有——无
- ......
因此找到具有两种稳定状态的电子器件比找到具有十种稳定状态的电子元件要简单的多,而且实际设计中表现出来的效果远远不止这一点:使用电子元件数量大幅减少,计算速度大幅提升,运行效率大幅增加......所以,计算机使用二进制就成为了最明智的选择。
❷ 运算规则更简单
在前文中我们已经展示了二进制数的加减法,从这个基本的运算中就能发现,二进制数的运算要比十进制数简单的多,因为二进制数只有0和1,小学生只需要两根手指就会计算。
此外,在涉及逻辑运算时,用0和1表示真和假就更顺其自然了!
❸ 大幅简化计算机组件结构
二进制数只有两种数字,那么在设计计算机的加法器、运算器等组件时就简单的多,在运算时速度也要高得多。
......除上述优势外,二进制一个更大的优势在于人们可以方便的将其转换为习惯的十进制数字(前文已有演示)来思考日常学习与工作,这就大大缩小了人与计算机间的“隔阂”,让计算机能够更多地参与人类工作。
四、二进制竟然能计算出电脑内存大小在计算机上安装软件的时候,我们经常会看到这样的字眼:x86、x64,什么意思呢?
64位系统
- X86架构:一种计算机语言指令集的名称,对应的32位系统。
- X64架构:一种计算机语言指令集的名称,对应的64位系统。
- 32位系统:计算机能使用的内存单元最多为2的32次方个字节
- 64位系统:计算机能使用的内存单元最多为2的64次方个字节
❶ 系统内存最大值
每个系统都有内存上限,意思是说在这个上限以下增加计算机内存对性能是有提升的,但如果超过这个上限,继续扩展内存将不再有提升性能的效果,因为超出了计算机的支持能力,它便不会使用!
所以大家不要盲目扩展自己的计算机内存,要根据内存上限来适量扩展,那这个上限内存是多少呢?下面我们将通过二进制的方式为大家演示如何计算当前计算机可以使用的内存上限值!
❷ 二进制计算电脑内存上限
N位系统表明CPU一次能处理的最大数据宽度为N位,如数据为:1010101010000011100...0101(共N位)。那么这也就能体现出该框架下的计算机能使用的最大内存:
计算机最大理论内存
由上图可见计算机支持的最大内存分别为:32位系统4GB,64位系统近172亿GB(64位系统内存越大性能越好)。计算的结果均为理论值,因为计算机中的硬件会使用掉一部分地址单元,这就导致CPU不能满负荷使用理论中的最大内存。
总结本文的主要目的是为了将计算机所使用的二进制数以通俗易懂的语言介绍给读者,二进制是计算机理论的重要基础,在很多学科中都有所应用。希望通过本文的讲解让更多的人对二进制,对计算机数据能有更深层次的认识!感兴趣的读者可以自行搜索学习八进制数、十六进制数!
本文如有不妥之处,欢迎批评指正,衷心感谢您的阅读!
,