0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算机为什么是二进制?

dKBf_eetop_1 来源:未知 作者:胡薇 2018-06-04 08:39 次阅读

1与0,一切数字的神奇渊源。这是造物美妙的典范,因为,一切无非都来自上帝。

从一枚古银币谈起

1697年元旦,莱布尼茨写了一封信给鲁道夫·奥古斯都公爵。写信的同时,他赠送了一颗自己制造的银币给公爵,这颗银币的出现,真正预示着二进制的诞生。

银币的正面当然是公爵帅气威风的肖像,这是为了获得“科研经费”必须做出的妥协。反面是一则创世故事:水面上笼罩着黑暗,顶部光芒四射……中间部分雕刻的是从1到17的二进制数学式。

考虑到公爵的智商,文笔晦涩的莱布尼茨讲述了他构思的一枚题为“造化之象”的纪念币:全能的上帝从无创造有。现在我们可以说,数字的起源是世上能最好展示和说明这种力量的事物,它以“一”和“零”或者说“无”的形式呈现,既朴素又简练。

银币上面刻着十进制与二进制的对比状态:

十进制 二进制

0 0

1 1

2 10

3 11

4 100

……(以此类推)

13 1101

14 1110

15 1111

16 10000

17 10001

从这一天起,现代数学意义上的“二进制”诞生了。

1

十进制PK二进制

牛顿与莱布尼茨的对话

牛顿实在是看不下去了,你丫为了骗“科研经费”,又开始忽悠领导了。

作为莱布尼茨的老对手,牛顿这次放出话来要正面KO死莱布尼茨。

老祖宗传承下来的十进制不是用得好好的吗?搞个二进制出来完全是制造社会混乱,混淆人类视听,可惜英国的警察不能跨省去德国,否则早就把这厮抓回剑桥整成神经病。

我都用它推导出万有引力来了,还有什么事情十进制搞不定?

莱布尼茨心里也正窝着火呢,PK就PK,关于微积分的事情,你丫多次“洗我的稿”还没时间找你呢,正好一起算总账。

PK正式开始:

牛顿:你丫凭什么说二进制比十进制更简洁?

莱布尼茨:上帝只用二根手指就可以搞定一切。

牛顿:你确定两根手指可以演算世间万物?

莱布尼茨:你看看我这张东方的康熙皇帝赐予的“先天八卦图”就明白了。

牛顿吓了一大跳,我靠,这丫背景很硬,连东方的皇帝都搞上关系了,我得小心。

牛顿认真研究了下《莱布尼茨——二进制与伏羲八卦图考》,作为具有大智慧的人物,牛顿恍惚有些明白,他心中怦怦直跳,莱布尼茨这丫看来又要搞大事啊。

牛顿当然不会认输:可二进制与十进制比,在计数上没什么太大意义。

莱布尼茨:计数上意义不大,但它具有逻辑性,“零”表示“无”,“壹”表示“有”,我的二进制不是代数运算,而是数理逻辑运算。

…………(这个有点难,牛顿花了点时间才算整明白)

牛顿:可这二进制实在太麻烦,完全没有办法制造机器运算。

莱布尼茨:我这个又不是给你用,我这个是给计算机准备的。

牛顿傻眼了:计算机是什么玩意儿?

莱布尼茨:说了你也不懂,那是200多年后的宝贝。

牛顿气得口吐白沫:就不能好好说个话吗?

莱布尼茨:没办法,你代表的是古典十进制,我代表的是未来的二进制。

2

为什么计算机只爱“二进制”

人类天生有十个手指,自然也就有了十进制。

亚马逊边上打渔回来分食人鱼,所有人伸出十个手指,基本够用。

那数字到底怎么表述呢,人类毕竟是视觉动物。

东方的圣贤说:零一二三四五六七八九十……

西方的大哲说:one,two,three,four,five,six,seven,eight,nine,ten.....

两者争得不可开交时,从沙漠赶来的阿拉伯人翻译道:还是用我们的0123456789吧。

经过上千年的折腾,人类基本达成了一致,看在真主的份上,那就用阿拉伯数字。

但到了计算机时代,计算机怎么识别0123456789呢。

伟大的冯诺依曼为这事一脸愁容,折腾了一年,才发现问题出在十进制。

这时候一个聪明人想到了:电这东西其实可以表示很多状态,比如用电流来表示数字,0~0.9A表示0,1A表示1,2A表示2,3A表示3。想到这里,聪明人开始自我表扬了,这世界上还有难题可以击倒我吗?!

冯诺依曼翻了个白眼,这个还需要你提醒吗,这毕竟是1945年,二次大战还没有完全结束呢,这个时候的电子元件根本无法让电流变得非常稳定。

聪明人表示了不满:这都控制不了,搞什么科学研究。

冯诺依曼心中有一万匹草泥马跑过:you can you up, no can no bb!

其实这还不是冯诺依曼最担心的,最让人焦虑的是图灵提出来的“计算思想”的问题,就算用电流计算的方式表示出10个状态,也没有办法让电脑真正思考啊。毕竟电子计算机除了计数之外,还有判断对错的问题。

这个晚上,冯诺依曼做出一个重要的决定,根据电子元件双稳工作的特点,在电子计算机中采用二进制。

3

二进制的计算原理

我的智商有限,让诸葛亮先生来告诉你二进制的计算原理。

诸葛亮为了北定中原兴复汉室,亲自驻守西城,此时的司马懿兵强马壮,诸葛亮派爱将马谡驻守街亭,与西城首尾相望。

街亭山高谷深,地势险要,为兵家必争之地,进可攻关中,退可守陇右。

诸葛亮叮嘱马谡:魏军若来100人,你就点亮1盏“孔明灯”通知我,我想清楚知道魏国来了多少敌军,我派王平和赵云做好准备,这次必将活捉司马懿。

马谡脑瓜儿挺机灵:丞相我懂了,若是敌人来了100个,我就放飞1盏孔明灯。若是敌人来了1000个,我就放飞10盏孔明灯。若是敌人来了10000个,我就放飞100盏个孔明灯。若是敌人来了100000个,我就放飞1000盏孔明灯。

诸葛亮差点跳起来:你以为孔明灯那么好做,放飞250盏孔明灯,你知道要多少军费吗?今天下三分,益州疲弊,你还这么浪费。

马谡脑眼珠一转:丞相我懂了,敌人来了一个,我就点亮一次,这样的话,我就只需要1盏孔明灯了。

诸葛亮长叹了口气:幼常啊,你想一想,我现在快五十岁的人了,又近视得厉害,你认为我能够看得清楚你点了多少次吗?而且你这点来点去的,中间万一数错了呢?

马谡这下傻眼了:丞相,求答案。

诸葛亮摇了摇羽毛扇:你得学学二进制,多安几盏孔明灯,你把它们装在街亭最高处,但注意,必须以同样的距离排列。

马谡完全糊涂了:丞相,什么是二进制?

诸葛亮摇了摇羽毛扇:二进制,乃天人之学也。

两人耳语甚久,马谡似懂非懂,最终拜服,丞相乃天人也。

诸葛亮道:现今你明白了二进制,只须排列好10盏灯,就可以将敌情准确上报。我在西城定好位置,按照定好的方位观察亮灯的位置,就可以运筹帷幄。

0000000000,8盏灯全灭,说明无敌军来犯。(状态0)

0000000001,第一个位置亮了灯,来了100个敌人,你负责干掉他就行了。(状态1)

0000000010,第二个位置亮了灯,来了200个敌人,小菜一碟,街亭无忧。(状态2)

0000000011,第一二位置都亮了灯,来了300个敌人,也不是什么大事。(状态3)

0000000100,第三个位置亮了灯,来了400个敌人,派出小股军队灭了他们。(状态4)

0000000101,第一三位置都亮了灯,来了500个敌人,得小小注意下了。(状态5)

诸葛亮担心马谡还是没有真正地听明白,特意给了他一张密码对照表,按照这个密码表,点起孔明灯就是了。

附表:

10进制编号 灯泡表示

状态 1 0000000001

状态 2 0000000010

状态 3 0000000011

状态 4 0000000100

状态 5 0000000101

……(以此类推)

状态 996 1111100100

状态 997 1111100101

状态 998 1111100110

状态 999 1111100111

状态 1000 1111101000

这就是二进制的基本工作原理,说实在的,确实比十进制有用多了。

4

《周易》和二进制

很多人谈到二进制,就会说起中国的《周易》。

还有一些人迷信:因为白晋给莱布尼茨看了中国的先天八卦图,莱布尼茨才创造了二进制。

在很多人眼中,中国传统文化就是这么所向披靡,无往而不胜。

事实上,莱布尼茨在没有看到先天八卦图前的1697年,就已完成了论文《二进制算术》的草稿,也就是他在向公爵忽悠“科研经费”时已经完全搞定论文。古代的科学家真是非常敬业,有了成果后才好意思要经费。莱布尼茨详尽说明了“二进制”算术原理,而且还给出了加、减、乘、除四则运算的规则。

1701年,莱布尼茨心血来潮想巴结下东方的帝王,给自己找条后路,毕竟那时候的西方世界被牛顿给统治了。他听说康熙皇帝喜欢数学,就给在北京的法国传教士白晋的信中,阐述了“二进制”的算术规则,并希望白晋将“二进制”介绍给康熙皇帝。收到信的白晋感觉莱布尼茨的“二进制”似乎与中国的八卦图形有某种联系,比如八卦中的阴爻“——”就像“二进制”中的“0”,阳爻“——”就像“1”。于是他在回信中说明了自己的这个想法,并且把一幅“伏羲六十四卦方位图”一并寄回。这才是《周易》和二进制相遇的原因,传教士真是个好东西。

莱布尼茨见到那张六十四卦图已是1703年,收到东方帝王关照的莱布尼茨兴奋不已,很快就在法国科学院院报上发表了自己那篇关于“二进制”的文章,题目就叫《关于只用两个记号0和1的二进制算术的解释——和对它的用途以及它所给出的中国古代伏羲图的意义的评注》。

中国的八卦符号分为连续的与间断的横线两种。这两个后来被称为“阴”、“阳”的符号,在莱布尼茨眼中,就是他的二进制的中国翻版。莱布尼茨完全是以个人的杰出才华,依靠一己之力推演出二进制。

二进制是最完美的逻辑语言

2018年,在德国图灵的郭塔王宫图书馆里,仍然保存着一份珍贵手稿,其标题为:“1与0,一切数字的神奇渊源。这是造物美妙的典范,因为,一切无非都来自上帝。”这是天才莱布尼茨的手迹。

二进制最适合逻辑运算,它只有两个数码,正好与逻辑代数中的“真”和“假”相吻合。二进制两个数码正好与逻辑命题中的“真(True)”、“假(False)”或称为”是(Yes)”、“否(No)”相对应。

200多年前,没有谁明白二进制的伟大,唯有莱布尼茨一眼就洞穿数理逻辑的终极奥义,当现在回溯AI的起源时,有些人将莱布尼茨视为真正的鼻祖。

如果看到今天二进制在人类文明中所占据的位置,莱布尼茨可以对着遥远的东方重复他曾经说过的话:二进制乃是具有世界普遍性的、最完美的逻辑语言。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 二进制
    +关注

    关注

    2

    文章

    700

    浏览量

    41233

原文标题:二进制的“前世今生”

文章出处:【微信号:eetop-1,微信公众号:EETOP】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    计算机为什么使用二进制来表达

    在生活中,人们已经习惯用十进制来计数,0~9的发明是人类的伟大进步,从此就可以用0~9这十个数字的组合能表示任何大小的数字。于是初学计算机的人往往会问的问题是,计算机为什么使用二进制
    的头像 发表于 10-30 15:44 521次阅读
    <b class='flag-5'>计算机</b>为什么使用<b class='flag-5'>二进制</b>来表达

    【量子计算机重构未来 | 阅读体验】+ 了解量子叠加原理

    如何生产制造。。。。。。 近来通过阅读《量子计算机—重构未来》一书,结合网络资料,了解了一点点量子叠加知识,分享给大家。 先提一下电子计算机,电子计算机使用二进制表示信息数据,
    发表于 03-13 17:19

    #硬声创作季 计算机基础:计算机二进制

    计算机基础
    Mr_haohao
    发布于 :2022年11月03日 08:15:54

    #硬声创作季 计算机基础:二进制的算术运算

    计算机基础
    Mr_haohao
    发布于 :2022年11月03日 08:18:27

    有关C语言的基础知识

    0,1,2...57,58,59。满60进1。60秒为1分钟,60分钟为1小时。计算机二进制,基数0,1。满2进1。高电平代表1,低电平代表0...
    发表于 07-14 08:23

    位运算的相关资料分享

    计算机二进制数据进行的运算(+、-、*、/)都是叫位运算为什么要位运算,提高效率,也就是快。eg:35:0010001147:00101111-------------------82
    发表于 12-24 07:44

    计算机的原码与反码及其补码是干啥的?

      很多人都只知道计算机使用的是二进制,但很少有了解到计算机是以补码的方式进行存储数据的。  不过补码是通过原码、反码一步步演变而来的。  原码  原码是一种计算机对数字的
    发表于 04-13 17:04

    单片机教程视频之人人学会单片机详细链接方式免费下载

    新建工程和点亮一个 LED5.单片机的发展和 STC 资源概要6.计算机二进制概念和进制运算等六十多个课程资料免费下载
    发表于 10-24 08:00 136次下载

    GPIO端口的硬件结构和使用代码等详细资料概述

    GPIO,就是通用IO端口,说白就是个端口。一个端口有什么用啊!?说白了就是输出和读取作用了,既然计算机二进制的,那肯定就是两个状态了。高电平/低电平(卧槽,数字电路!噩梦啊)。所以GPIO在硬件上就是做这四件事情的,(输出/输入)X(高/低电平)。
    发表于 09-09 17:26 2次下载
    GPIO端口的硬件结构和使用代码等详细资料概述

    计算机二进制概念和进制运算的详细资料简介

    本文档的主要内容详细介绍的是计算机二进制概念和进制运算的详细资料简介。
    发表于 12-11 17:34 15次下载
    <b class='flag-5'>计算机</b>的<b class='flag-5'>二进制</b>概念和<b class='flag-5'>进制</b>运算的详细资料简介

    2019年的人工智能有哪一些比较热门的应用

    为了和计算机对话,曾经是人主动学习计算机二进制语言,现在是人在让计算机运用人的语言,这背后的核心就是人机交互技术。
    发表于 12-26 10:57 1089次阅读

    为什么在计算机里Byte是从-128到127?

    计算机是一个很神奇的东西,仅靠 0 和 1 就能运算、存储等操作。那么,为什么Byte是从是从-128到127? 今天就给大家讲讲计算机二进制的一些内容。 1 计算机表示数据的规则这个
    的头像 发表于 04-15 11:43 2601次阅读

    计算机基础知识之二进制

    在C/Java/JavaScript等高级语言编写的程序中, 「数值」 、 「字符串」 和 「图像」 在计算机内部都是以 「二进制数值」 的形式来表现的 用二进制数表示计算机信息的原
    的头像 发表于 03-31 16:06 3186次阅读
    <b class='flag-5'>计算机</b>基础知识之<b class='flag-5'>二进制</b>

    计算机定点数据解说

    在学习计算机基础的过程中我们已经知道计算机是基于二进制对数据进行存储和运算的。学习C语言时我们又知道了C语言中常见的数据类型有:char,int,long int等 signed 或 unsigned 整数数据,以及float和
    的头像 发表于 07-31 14:47 544次阅读
    <b class='flag-5'>计算机</b>定点数据解说

    二进制、八进制、十六进制在现实当中有什么意义?

    二进制、八进制、十六进制在现实当中有什么意义? 二进制、八进制和十六进制在现实生活中有着广泛的应
    的头像 发表于 01-16 11:14 418次阅读