从二进制到逻辑门:哲学中诞生的计算理论

☞ 欢迎来到神奇的01世界 ☜

二进制

二进制来自哲学,自然万物两两相对,白天与黑夜、太阳和月亮、苍天与大地、男人和女人、寒冷与炎热、甘甜和苦涩……我国传统文化中的阴阳学说、太极八卦,都是在讲这些自然的本质。

不光中国,在很久很久以前,世界各地的文明也都或多或少意识到了二进制的意义,只是除了参悟哲学道理,一直没有用到数学中去。

直到17~18世纪,数学上的二进制才由莱布尼茨首次提出。莱布尼茨首先是位伟大的哲学家,至简的理念始终贯穿在他的哲学和数学研究中。他认为,任何数字都可以在0和1的基础上产生。他对中国的哲学文化有着十分浓厚的兴趣,当了解到《易经》时,不禁感叹其中充满智慧的符号系统和他的二进制理论竟如此相仿[1]

那么,“逢2进1”的二进制如何表示数字呢?我们知道,对于一个十进制数,从最右侧的个位开始,越往高位,数位上的数字所代表的值越大,相邻数位上相同的数字所代表的值相差10倍。比如1024中,个位上的4代表3,十位上的2代表20,千位上的1则代表1000,用数学语言表达就是:
1024 = 1×10^3 + 0×10^2 + 2×10^3 + 4×10^4

总结而言,就是从右往左数,第n位上的数字所代表的值,是该数字与10n-1的乘积。二进制示数也遵循这一规则。对于一个全是1的二进制数,从右往左,第1位表示20,第2位表示21,第3位表示22,第4位表示23,第5位表示24,以此类推,第11位表示210,即1024。

下表罗列了部分常用的二进制数,在计算机领域,为了方便阅读和处理,常常会以4位为单位在二进制串前补零。

十进制数 二进制形式 补零后的二进制形式
0 0 0000
1 1 0001
2 10 0010
3 11 0011
4 100 0100
5 101 0101
6 110 0110
7 111 0111
8 1000 1000
9 1001 1001
16 1 0000 0001 0000
32 10 0000 0010 0000
64 100 0000 0100 0000
128 1000 0000 1000 0000
256 1 0000 0000 0001 0000 0000
512 10 0000 0000 0010 0000 0000
1024 100 0000 0000 0100 0000 0000

莱布尼茨还设想过一种可以进行二进制加法的机械计算器,这种机器需要有一排可以开闭的洞口,洞口打开表示1,洞口关闭表示0,通过往洞中扔小弹珠表示加法,每个洞中最多只能存放1颗弹珠,每满2颗它们就会一起从机器中滚出来,洞口也相应关闭,高一位洞口则打开。

一种可行的莱布尼茨二进制加法器(图片来自https://woodgears.ca/marbleadd/index.html)

布尔代数

莱布尼茨坚信,人类的思想和数字一样可以化繁为简——所有思想都可以分解为数量不多的简单思想。这些简单思想通过一些既定规律,可以组成任意的复杂思想,就像数学运算一样。当两个人发生了争执,他们可以把自己的观点通过数学计算的方式梳理出来,谁对谁错就一目了然了。

为了“计算”思想,莱布尼茨阐述了后来被称为合取(conjunction)、析取(disjunction)、否定(negation)等的逻辑运算规则,成为数理逻辑(mathematical logic)最早的探索者之一。

但逻辑运算在数学上的系统性定义,要等到19世纪由英国数学家乔治·布尔(George Boole)首次提出。布尔分别在1847年和1854年发表了著名的《逻辑的数学分析》和《思维规律的研究》,将数学中的代数方法引入到逻辑学中,被后人称为布尔代数(Boolean algebra),逻辑运算因而也叫布尔运算。

乔治·布尔(George Boole),1815-1864,英国数学家、哲学家、逻辑学家。(图片来自维基百科)

下面通过一个例子介绍简单一下逻辑运算,假设有X、Y两个命题。

X:乔治·布尔发明了二进制。
Y:乔治·布尔创立了布尔代数。

显然,X命题是错的,Y命题是对的。在逻辑学中,我们称:X命题为假,Y命题为真。如果用连词将X、Y两句话连起来说呢?

比如:乔治·布尔发明了二进制且创立了布尔代数。这句话是错的,即“X且Y”的组合命题为假。

再比如:乔治·布尔发明了二进制或创立了布尔代数。这句话是对的,即“X或Y”的组合命题为真。

这就是逻辑学中的合取与析取,也称逻辑与和逻辑或。

当然,也有对单个命题的逻辑运算,比如:乔治·布尔没有发明二进制。这句话是对的,即“非X”为真。

这就是逻辑学中的否定,也称逻辑非。

与、或、非是3种最基本、最常用的逻辑运算。将它们组合起来,还可以形成与非、或非、异或、同或等复杂逻辑运算。历史上,布尔和许多其他逻辑学家曾使用过各种层出不穷的符号来表示它们,如今,我们常用下表中的表达形式。

逻辑运算 英文缩写 表达式
AND X·Y
OR X+Y
NOT \overline{X}
与非 NAND \overline{X·Y}
或非 NOR \overline{X+Y}
异或 XOR X⊕Y
同或 XNOR X⊙Y

其中,异或和同或其实意如其名,只是表达式有点抽象,它们的展开式十分容易理解:
\begin{cases} X⊕Y = X·\overline{Y} + \overline{X}·Y \\ X⊙Y = X·Y + \overline{X}·\overline{Y} \end{cases}

而逻辑命题的真假像极了二进制中的1和0,布尔代数自然而然选择用1表示真、0表示假。

经过简单的逻辑推演,我们就能得到这些逻辑运算在所有情况下的结果:

X Y 非X 与非 或非 异或 同或
0 0 0 0 1 1 1 0 1
0 1 0 1 1 1 0 1 0
1 0 0 1 0 1 0 1 0
1 1 1 1 0 0 0 0 1

不难发现,逻辑运算和二进制运算有着极高的一致性,除了有点违反直觉的1+1=1

逻辑 与 \begin{cases} 0·0=0 \\ 0·1=0 \\ 1·1=1 \end{cases}

逻辑或 \begin{cases} 0+0=0 \\ 0+1=1 \\ 1+1=1 \end{cases}

更巧合的是,逻辑运算和数学运算一样满足交换律、结合律和分配律等各种运算规则,比如:
\begin{cases} X·Y=Y·X \\ X+Y=Y+X \\ X·(Y·Z)=(X·Y)·Z \\ X+(Y+Z)=(X+Y)+Z \\ (X+Y)·Z=X·Z+Y·Z \end{cases}

数字电路

20世纪,随着继电器电路的发展,许多科学家开始将二进制、布尔代数和电路联系到一起,最终,由美国一位名为克劳德·香农(Claude Shannon)的数学家做出了完整阐释。1938年,就读于麻省理工学院的香农发表了他那篇著名的硕士论文《继电器与开关电路的符号分析》,奠定了数字电路的理论基础。

克劳德·艾尔伍德·香农(Claude Elwood Shannon),1916-2001,美国数学家、电气工程师、信息论创始人。(图片来自维基百科)

开关电路就是有接通和断开两种状态的电路,继电器电路就是一种典型的开关电路。当我们用X、Y等字母表示开关电路,将两者串联就可以表示逻辑与,将两者并联就可以表示逻辑或。

香农的逻辑电路

那么逻辑非如何如何实现呢?还记得有两个静触点的电磁继电器吗?如果X表示常闭触点所在的工作电路,\overline{X}便是常开触点所在的工作电路,两者的通断永远互斥。

有了与、或、非3种基础逻辑电路,异或等复杂逻辑电路也就不难搭建了。

如此一来,电路就彻底数字化了,原本物理的连接可以用数学来表示,是为数字电路。香农认为,基于布尔代数,再复杂的电路都可以用表达式条理清晰地设计出来,更重要的是可以等效化简。香农的研究成为后来二进制机电计算机和电子计算机强大的理论支柱。

逻辑门

逻辑电路发展成熟后,工程师们更多地把它们作为一种电路中的元器件(而不是电路本身)使用。他们不关心这些元器件的内部实现,更关注当代表0或1的信号从它们的输入端进去,从输出端出来的是0还是1。这种通过逻辑电路实现二进制信号转换的元器件称为逻辑门(logic gate),门的概念很形象,二进制数据可以从门通过,也可能被门挡住,庞杂的计算机电路正是靠着一扇扇这样的门组合而成的。下图为IEEE和IEC[2]标准中规定的逻辑门符号,统一的矩形表示更有利于绘制复杂的集成电路,信号从矩形左侧进入,从矩形右侧输出。

逻辑门的符号表示

组合逻辑电路

逻辑门像一块块标准化的积木,我们可以用这些积木灵活地搭建出实现各种功能的组合逻辑电路。举个最简单的例子——二进制加法器。要实现两个二进制数的相加,首先要实现单个数位的两两相加。用A和B表示两个二进制数某一位上的值,Cin表示来自低位的进位值,S和Cout表示A+B+Cin之后该位的值和向高位产生的进位值,得单数位的加法真值表:

A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

用2个异或门和3个与非门即可实现这一逻辑,有兴趣的读者可以取几组值验证一下。二进制数有多少位,就需要多少个图中的逻辑电路,相邻数位的低位Cout与高位Cin相连,最低位的Cin永远为0。

单数位二进制加法逻辑电路

减法以及其他更复杂的运算,乃至控制逻辑也可以如法炮制。

最重要的是,开关电路仅仅是逻辑电路的实现途径之一,其实不论任何材料,所组成的基础元件只要能表达出两种状态、能在两种状态之间切换,并能将状态传递给其他基础元件,都可以用来实现逻辑电路以及逻辑门。逻辑门一旦实现,二进制计算机的建造就像搭积木一样简单了。这种基础元件的等效性,是可以用不同材料来建造计算机的本质原因。在本章,我们甚至会见到纯机械的逻辑门,那是建筑二进制计算机的第一批积木,它们尚与电路和电子无关,而是由钢铁制成的。

参考文献


  1. 关于莱布尼茨是独立发明的二进制,还是受了《易经》启发的争论由来已久,事实上,二进制在很多文化中都早有出现,也有很多先人对它进行过思考和探讨,二进制是人类文明发展到一定程度的必然结果,只是需要某个人把它系统地整理出来而已,而莱布尼茨就是这个人。

  2. IEC:国际电工委员会(International Electrotechnical Commission),世界上成立最早的电工标准化机构,在电子电气领域制定国际标准。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容

  • 今天,骑摩拜一个小时。虽然吃了很多灰,但感觉身体轻了好几斤。 等孩子上培训课,正好有一个小时的空档。于是,在路边找...
    容玲阅读 343评论 6 3
  • 沉默很久以后,对方说,那你早点洗澡休息吧。她直接按了红色的结束通话键。 电话里讨论的是婚礼 。自己一心所得的幸福,...
    书虫小言阅读 519评论 0 2
  • l战略地图 战略地图,以组织的共同愿景与战略为内核,运用综合与平衡的思想,依据组织结构,将公司的愿景与战略转化为下...
    Smart熊大阅读 3,457评论 0 3