二进制有什么好处,为何电脑都采用二进制?

……………………………………………………………………………………二进制的内心小剧场………………………………………………………………………………………………

…………………………………………………………………………………………………………………………………………………………………………………………………………………

很多专业人士从第一次学计算机,就开始接触二进制,发现书上说的基本都是术语,不是“人话”,马上晕倒。二进制是什么?什么“逢二进一”,这都不重要,狗屎。只要是人发明的东西,用人话就能讲清楚。
咱们就用人话,看看能不能讲清楚“二进制”。
咱们穿越啦,回到古代。你在一个烽火台上,我在另一个烽火台上,只要你那边来敌人,你就点狼烟通知我。这个能懂吧?现在,我想清楚的知道你那儿来了几个敌人,我好做准备工作。怎么办呢?很简单,两个办法。
1、你点一次火,再灭掉一次,算是一个敌人,来两个就点2回,灭两回。 2、或者你同时点两堆火。我就知道,是来了两个敌人。
我去,你说要是敌人来了200个怎么办?你那边要么熏死,要么火堆多到足够自焚了……
朝代在发展,人类在进步。一晃爱迪生来过地球了,他发明灯泡了。
你可以用灯泡“亮”和“灭”来跟我表示这个信息。
如果一个灯泡没亮,说明没有敌人。灯泡没亮,也可以说是状态0。
如果来了一个敌人,灯泡亮了,我就知道来了1个,这就是状态1。
问题又来了,还是来了200个敌人……我去,要么你开关200次灯泡,要么准备200个灯泡一起亮。第一个方法灯泡质量也不一定好,再说,你闪那么快,我也数不过来。第二个方法,我数也得数小半天,没数完,早被敌人冲过来砍死了。还有,200个灯泡,你确定你那儿电费余额够不?
好在咱们都是聪明人,咱们约定,多安几个灯炮打暗号。为了不用画图,0代表关灯,1代表开灯。
00000000,8个灯全关,放心睡觉,这是状态0,说明一个敌人没有,平安无事。(状态0) 00000001,这说明来了一个敌人,你负责干掉他就行了。(状态1) 00000010,这是第二个能表示的状态,咱们给它个编号,叫状态2,说明来了两个敌人,也没啥大事。
接下来,应该是第三种情况了。00000011,这就是第三种情况。咱们不说换算什么的,这种亮灯的方法咱们就叫3(状态3)。
为了让咱俩都明白,咱们写个清单(文章最后)出来。由清单能看出来,如果来了255个敌人,你直接打开8个灯泡,我也就一目了然,准备刀枪就上了。
因为电脑也一样,只有开和关(通电、断电)来表示两种状态。这就叫“二进制”了。至于2进制怎么计算,也很简单,比如第一种状态(1)+第二种状态(2)=第三种状态(3)。你看:
00000001 +00000010 --------- =00000011,按表格一找,是3,就是这么简单。
所以,脑子里别想着10进制和2进制怎么换算,这些脏活儿累活儿,可以电脑去干。你只要记住表格里的“二进制第几种状态就是10进制中的几”就可以了。
还有,磁盘里的2进制,用磁铁的N极和S极表示1和0,N=0,S=1,把硬盘放大了1000万倍看看,上面都是小磁铁,通过硬盘的磁头识别,再变成电流信号“通”和“断”来交给CPU处理。
那光盘上也一样,光盘上是用“长”和“短”的小镜子来表示1和0。把光放大了1000万倍看看,上面都是长点和短点,用激光头一照,根据反光的长度来表示数据。
那数据多了怎么办?8个编成一组,叫1byte,也就是传说中的1个字节,是由8个0或1组成的,每个0或1叫1bit。通常,一个英文字母需要8个灯泡表示,一个汉字需要16个灯泡表示。
顺便说一下,一下能让我看清8个灯泡亮没亮的方法,叫“并行”(8位),用1个灯泡来回开关,妄图晃瞎我的传递数据的方法叫“串行”,也就是一串信号的意思。所以,频率相同的情况下,“并行”肯定比“串行”快。
想一次能处理的信息越多,就需要越多的“位”数,比如你家CPU是64位的,就相当于一次能传递64个灯泡组成的信息。
先讲这么多吧,中心思想只有一个“技术课讲的好,也很有意思!”
再赠送一个知识点,在EXCEL里可以用公式=DEC2BIN()来换算。
附表:
10进制编号 灯泡表示 状态 1 00000001 状态 2 00000010 状态 3 00000011 状态 4 00000100 状态 5 00000101 状态 6 00000110 状态 7 00000111 ……(以此类推) 状态 250 11111010 状态 251 11111011 状态 252 11111100 状态 253 11111101 状态 254 11111110 状态 255 11111111

作者:Jeffersli 链接:http://www.zhihu.com/question/20830886/answer/48079392 来源:知乎 著作权归作者所有。

……………………………………………………………………………………………我是分割线……………………………………………………………………………………………………

…………………………………………………………………………………………………………………………………………………………………………………………………………………

1.从可行性来说,采用二进制,只有0和1两个状态,能够表示0和1两种状态的电子器件有很多,比如开关的接通和断开、晶体管的导通和截止、磁原件的正负剩磁、电位电平的高低等都可以表示0和1两个数。使用二进制,电子器件具有实现的可行性。
2.从运算的简易性来说,二进制的运算法则少,运算简单,使计算机运算器的硬件结构大大简化(十进制乘法九九口诀有55条公式,而二进制乘法只有四条规则)。
3.从逻辑上讲,由于二进制0和1正好和逻辑代码假和真相对应,有逻辑代数的理论基础,用二进制表示二值逻辑很自然。
作者:cqan 链接:http://www.zhihu.com/question/20830886/answer/28334973 来源:知乎 著作权归作者所有。

……………………………………………………………………………………………我是分割线……………………………………………………………………………………………………

…………………………………………………………………………………………………………………………………………………………………………………………………………………

从物理实现来说,第一,二进制状态简单;第二,可靠性、稳定性高;第三,运算规则简单,简化设计;第四,通用性强。 用电压的开关,电流的有无都能表示二进制的2种稳定状态,而要表示十进制的10个稳定状态则困难得多,从而二进制带来了更高的可靠性。另外,二进制的加法运算比十进制更为简单,简化了运算器等物理器件的设计。还有,在计算机cpu的算数逻辑单元中,0和1可以清楚的表示真假,对错的逻辑运算,使得电子机械完成计算的通用性加强。 此外,在冯•诺伊曼等人发表的101页报告中写到,33位的表示可以达到10的10次方大小,二进制系统与十进制系统相比要经济得多。 何以见得呢?现在用K表示10的3次方,也就是2的10次方;G表示10的9次方,即2的30次方。 10的10次方(1后面10个0)是不是约等于2的33次方(换成二进制表示,1后面33个0) 如果用物理状态表示这个数的话,十进制的表示:需要11个具有10种稳定状态的元件,状态总数为110种;二进制的话,只要拿34个灯泡即可,总共才68种状态。所以,哪个更省?

作者:甚谁 链接:http://www.zhihu.com/question/20830886/answer/74671409 来源:知乎 著作权归作者所有。

……………………………………………………………………………………………我是分割线……………………………………………………………………………………………………

…………………………………………………………………………………………………………………………………………………………………………………………………………………

一句话总结:二进制稳定不出差错,有电阻时为1,没电阻时为0(计算机用高电平和低电平分别表示1和0,电子电路中高电平是电压高的状态,一般记为1,电子电路中低电平是电压低的状态,一般记为0),不受电阻误差的形象。若为十进制则需要设计出十种稳定的状态,不仅麻烦,而且容易产生差错(温度影响电阻,从而电流不稳定),功耗还大。

四个字总结:硬件好做 OR 简化设计。

时间: 2024-08-07 03:59:00

二进制有什么好处,为何电脑都采用二进制?的相关文章

计算机基础 - 数据处理都转为二进制 ?

电脑处理的数据不管输入内容是什么形式,都会转换为二进制数后再处理. 由于电路的复杂性因素,电脑中都使用二进制数,只有0和1两个数码,逢二进一,最容易用电路来表达,比如0代表电路不通,1代表电路通畅. 我们平时用电脑时感觉不到它是在用二进制计算是因为电脑会把你输入的信息自动转换成二进制,算出的二进制数再转换成你能看到的信息显示到屏幕上. 电脑内部的信息编码,包括ASCII码和汉字编码,它们都是用二进制编码表示的. 一.ASCII码.美国信息交换标准码是由美国国家标准学会(American Nati

[ 转自 果壳 原著matrix67 ]Android计算器低级错误?都是二进制惹的祸!

Android 计算器惊现超级大 bug!在 Android 的计算器程序里输入 14.52 - 14.49,计算器竟然说它等于 0.0299999999!其实,这已经是计算机的老毛病了.计算机用二进制来表示数,将会不可避免地产生误差. 听说了 Android 的超级大 bug,我立即在自己的 HTC Hero 上试了一下,果然正如众人所说, 14.52 - 14.49 = 0.0299999999.稍作试验便可发现,一些更为简单的算式也会出现类似的问题,例如在 Android 计算器中输入 1

为什么计算机要采用二进制0和1作为基础语言

相传在很久很久以前,有一位神人,叫做伏羲,伏羲发现了河图,并推演八卦.那么,什么是八卦呢,八卦跟计算机二进制又有什么关系呢? 请看下表: 乾 ? =111 =7兑 ? =011 =6离 ? =101 =5震 ? =001 =4巽 ? =110 =3坎 ? =010 =2艮 ? =100 =1坤 ? =000 =0 你能发现什么规律吗(注意阅读方向)  对,一代表1(阳) --代表0(阴),三根实虚线的排列组合正好代表8种不同的状态(2^3=8) 那么六根实虚线的排列组合能达到多少状态呢…… 即2

一切都是二进制

一切都是二进制: 指令,数据: 英文单词来开发(写源代码),必须要配套一个翻译: 分类处理:提高效率. 蔬菜,洗洁精,卫生纸,烧烤:分类摆放: 100 1个字节 200 2个总结 4个总结 拿4个字节就跑,然后指令集对比 解析方式不一样: 专门存储指令区 数据区 内存四区: 指令区:代码区: 数据区 栈区 堆区 内存四区: 数据: 12345 1 2 3 4 5 12 34 5 123 45 1234 5 12345 取的字节数量(数据类型来告诉) 相同字节(1个),最高位(参与数据运算,还是只

Mysql_Binary_Install_Scripts(采用二进制方式安装)

Mysql_Binary_Install_Scripts(采用二进制方式安装) 脚本内容如下: #!/bin/bash ######################################## #auth:wolf_dreams #time:2018-10-20 #bbs:https://www.cnblogs.com/Wolf-Dreams/ ######################################## Softwarename="mysql-5.6.40-linu

计算机为什么采用二进制?

只有0和1两个状态,需要表示0.1两种状态的电子器件很多 二进制数的运算法则少,运算简单,使计算机运算器的硬件结构大大简化(十进制的乘法九九口诀表55条公式,而二进制乘法只有4条规则) 由于二进制0和1正好和逻辑代数的假(false)和真(true)相对应,有逻辑代数的理论基础,用二进制表示二值逻辑很自然.

初创企业都采用哪种开源协议?

一旦你决定在你的产品中需要引入开源的库,或者说你的产品本身就是个开源的软件产品的时候,你就必然要考虑究竟在众多的开源协议里面,哪一套是最适合自己的. 现在行业中流行的开源协议琳琅满目,但是,最流行通用的就是那三个:GPL,Apache,以及MIT. 我一直以来都很好奇的一件事情就是,在众多使用/打造开源软件的初创企业当中,他们所选择的开源协议究竟有些什么样的规律,而它们又和吸引投资以及投资人功成身退进行提现(exits:这里译作提现,也可以称为退出. 如风投在IPO前选择提现退出,寻找下一家初创

大家能不能说说自己公司的软件开发文档都采用那种标准?

是国标86,还是国标88据说2006也出来了还是CMMI还是其它都有那些优缺点?  返回IT界网站首页>> --------解决方案-------- 我们公司正处在一个制定标准的阶段以前我写文档都喜欢用cmmi那套文档模板但这次我们有一个项目请来了外部评审机构给我们的模板确实国标感觉是挺别扭的在我的感觉中国标的东西有点象osi七层模型cmmi确象tcp/ip四层行业标准 大家能不能谈谈你们公司的文档模板都是基于哪个方向定制的? --------解决方案-------- 相当的郁闷 ------

人工智能的利弊?好处和危害都有哪些

随着技术成为我们日常生活中的一部分,人工智能已经成为辩论和讨论的主题,先进的技术在各个领域都得到了广泛的应用,为改善人民生活水平作出了巨大贡献.尽管如此,仍不能确定人工智能的未来,让我们深入研究一下,看看人工智能的利弊?都有哪些好处和哪些危害! 人工智能的好处有哪些 1.减少出错机会 由于机器所做的决策是基于先前的数据记录和算法组合,因此出现错误的机会减少了.这是一项成就,因为解决了需要进行计算困难的复杂问题,可以在没有任何误差范围的情况下完成. 2.正确决策 机器完全没有情感会使它更有效率,它