52

二进制的“前世今生”

 5 years ago
source link: http://www.10tiao.com/html/282/201806/2650995354/1.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

会议推荐

物联网生态发展论坛(6月28日  北京)


来源:量子学派公众号

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的起源时,有些人将莱布尼茨视为真正的鼻祖。


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


推荐阅读:

曾经的黑科技:三进制计算机

关注EETOP,后台输入:百宝箱,查看如下文章:

处理器

  1. 科普:GPU是如何工作的?与CPU、DSP有什么区别?

  2. 看ARM如何抢走英特尔的X86市场––CPU市场上的逆袭!

  3. 科普:ARM与X86 CPU架构对比区别

  4. 在CPU IP授权上,ARM 是怎样战胜MIPS的?

  5. 海思CPU的设计制造过程,看了以后真觉得华为不容易

  6. 普及贴:CPU的发展历程(X86篇)

  7. 最美CPU!人类看清冥王星归功于它

  8. 扫盲帖:CPU的相关知识

  9. 历数CPU恶性BUG!原来曾有过这么多!

  10. 干货!韩国大学CPU设计课件分享

  11. CPU DIE Photo 大全

  12. 众多国产CPU和操作系统大揭底、

  13. 服务器架构:x86、RISC、ARM谁主江湖?

  14. RISC-V资料大全中文版!

  15. 基于RISC-V架构的开源处理器及SoC研究综述

  16. 我的处理器之路

IC制造

  1. 晶圆代工争霸战四部曲(了解各晶圆厂的前世今生)

  2. FinFET发明人胡正明教授的两篇原版PPT

  3. 胡正明Modern Semiconductor Devices for Integrated Circuits部分章节翻译

  4. FinFet发明人胡正明教授视频讲述FinFet的由来

  5. 科普:晶圆制作的动画短片

  6. 几张图表说明中国 12 寸晶圆厂分布、产能及发展现状

  7. 半导体科普:IC芯片设计及生产流程

  8. 从沙子到芯片,看看CPU是如何制造出来的

  9. 半导体产业的根基:晶圆是什么?

  10. IC封装工艺简介

  11. 非常详细的封装流程介绍

  12. 集成电路Bonding的知识

  13. IC工程师必看:先进集成电路产品的可靠性(PPT)

有趣的数学

  1. 数学公式告诉你,为什么聪明人难以成功

  2. 有趣的数学之美

  3. 计算机之父:数学大师--冯·诺依曼

  4. 细数二十世纪最伟大的10大算法及其意义

  5. 不看任何数学公式来讲解傅里叶变换

  6. 世界七大数学难题

  7. 统治世界的十大算法

  8. 世界上最伟大的十个公式

  9. 深入浅出讲解麦克斯韦方程组

  10. 数学史话:微积分的发明 变量数学的巨人之争

  11. 加密算法简介及RSA算法详解

  12. 信号与系统中时域与频域的关系

  13. 改变世界的17个方程式

  14. 无数学不人生--原来数学讲的是满满的人生啊!

  15. 从追女孩到找导弹,这就是数学的魅力!

  16. 小波变换 完美通俗解读

  17. 数学之美:平凡而又神奇的贝叶斯方法

  18. 数学史上的三次危机

  19. 数学中的人生哲理

  20. 用电路和数学图解表述人生和社会

  21. 数学常数e的含义

  22. 深入浅出讲解卡尔曼滤波

  23. 有趣的数学:负负为什么得正?

  24. 泰勒级数的物理意义

  25. 爱情数学公式

  26. 22张神奇而有趣的数学动图

  27. 21张GIF动图让你秒懂数学原理

  28. 无穷带来的各种悖论

  29. 5个没人能解决的“简单”数学问题

  30. 为什么数学家对质数如此着魔?

  31. 盘点计算机算法世界最伟大的十位大师

  32. 数学家:素数的分布有规律可循

  33. 中国数学界辉煌的"大时代"

  34. 大师告诉你,学习数学有什么用

  35. 冯·诺依曼:论数学

  36. 六位伟大的“数学学渣”科学家

  37. MIT牛人解说数学体系

  38. 计算机科学中最重要的32个算法

  39. 科学家或已发现大脑计算基本算法:N=2^i-1

  40. 机器学习算法比较

  41. 恐怖而有趣的数学故事--很久很久以前,在拉格朗日照耀下,有几座城...

电子工程师自我提高培训讲义

  1. 版图基础设计讲义

  2. 干货!开关电源中EMI的控制PPT

  3. 用蒙特卡洛分析比较器的失调误差

  4. 汽车电子EMC设计测试基础(非常详细的PPT)

  5. 目前最全面的NB-IoT解决方案PPT

  6. NB-IoT原理讲解详细PPT

  7. ASIC牛人之经典总结

  8. 高速设计讲义(设计方法、信号完整性、板级高速时序分析)

  9. 测量自己的心电图(从理论到电路)

  10. RISC-V资料大全中文版

  11. 先进集成电路产品的可靠性(PPT)

  12. 深入浅出射频模拟电路设计经典讲义

  13. 经典!国外模拟专家写的波特图用法详解,以及放大器稳定补偿的各种方法

  14. 差分信号之剖析与探讨

  15. 差分信号简介

  16. 射频基础知识培训讲义--华为版

  17. 深度报告--机器人大趋势(138页PPT)

  18. 非常详细的射频基础知识讲座(110页PPT)

  19. 手机射频电路原理分析

  20. 如何测试一颗芯片:全面了解DFT技术(超详细的PPT!)

  21. 数字IC后端设计全局观--数字后端做什么从RTL到GDS(137页PPT)

  22. 数字ICDESIGN技术全局观

  23. 滤波器设计基础(非常详细的PPT)

  24. 结合工作整理的MCU芯片级的ESD防护及设计

  25. How ADC Errors Affect System Performance

  26. 滤波器设计PPT

  27. 模拟滤波设计讲义

  28. 韩国大学CPU设计课件分享

  29. 非常详细的微波功率放大器讲义!

  30. 非常详细的Delta-Sigma A/D转换器讲义

  31. 信号完整性100条经验法则

  32. 韩国人写的关于delta sigma建模的PPT

  33. MEMS培训讲义

  34. FPGA数字电路设计经验分享

  35. 台湾高人图文解说S参数(基础篇)

  36. 非常详细的电磁兼容设计技术

  37. 软件无线电最新研究进展概述

  38. 集成电路物理设计讲义

  39. Design Compiler 培训讲义(非常详细,学习DC必看)

  40. DC-DC开关电源基础知识讲义(德州仪器)

  41. 非常全面的Sigma-Delta ADC经典讲义(90页PPT)

  42. 非常详细的开关电源原理与设计讲义(60页PPT)

  43. 拉扎维模拟CMOS集成电路设计讲义Part1

  44. 拉扎维模拟CMOS集成电路设计讲义Part2

  45. 拉扎维模拟CMOS集成电路设计讲义Part3

  46. 非常详细的ESD模型及测试讲义

  47. 非常棒的模拟集成电路设计讲义!

  48. 非常好的电源管理讲义

  49. 非常详细的A/D & D/A基础知识讲义

  50. 汽车电子EMC设计测试基础(非常详细的PPT)

  51. 手机射频Placement的小结与心得(44页PPT)

  52. FinFET发明人胡正明教授的两篇原版PPT

  53. 非常详细的混频器、频率合成器、振荡器的分析与设计(120页PPT)

  54. IGBT的设计及仿真验证(PPT)

  55. 开关电容电路介绍(PPT)


会议推荐

物联网生态发展论坛(6月28日  北京)


点击阅读原文查看更多


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK