手电筒的加密通信设计

摘要:二进制

白天你和好基友玩耍,晚上各自回家后仍然想分享好玩的事情,但那时没有手机。直到有一天你发现了家用手电筒,于是一个新的想法诞生了。你拿着手电对着好基友家的窗户照过去,起初,你想通过这种方式互动,但没法告诉对方你要表达什么,于是第二天你和好基友约定了一张表,利用手电筒亮灭的特性,制定了一张密码表(摩斯密码),参考这张表晚上便能通过这种开关手电筒的。于是你和好基友每日夜间通过这种方式通话,直到手电筒被父母收起来才终止了通话。

继电器组成的计算器

摘要:门电路,电路加法器

多年以后,你在高中学习到法拉第电磁感应特性,电能生磁,于是你突发奇想利用电转力的方式制造一个电力开关,于是你设计了下方的图纸,成功制作了一个继电器。

image

你突然意识到,这是一种手电筒的翻版,于是你用一套电路配合两种继电器设计了两个逻辑电路:缓冲器,非门。(常闭不想重新画了,直接倒过来)

常开的继电器左侧闭合之后会使得右侧灯亮起,输入=输出。

常闭的继电器左侧断开之后会使得右侧灯亮起,输入!=输出。

image

但是这不能满足你的好奇心,你将两个常开继电器级联起来,你发现必须要同时闭合两个开关才能点亮灯泡,其他情况都不能。(与门)

同时你将两个常开继电器换种方式连起来,又发现任意其一闭合都能使得灯泡点亮。(或门)

image

至此你已经成功制作了与门、或门、非门

于是你又在考虑,如果将两个常闭的继电器级联会有怎样的效果。于是同样的,你将常闭继电器级联后出现如下两种与非门、或非门

image

你仍不满足现状,你在思考如何比较两个输入是否相同,于是你将继电器输出接到了一块,就像如下两种电路,异或门,异或非门

image

在研学路上你又接触到了二进制计算,联想起曾经做过的逻辑电路设计,于是你便脑洞大开,用继电器做一个能够计算的计算器。

首先你想到的是一位加法器,1+1=10,1+0=1,0+1=1,0+0=0

A B 个位 进位
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

于是你根据上面的逻辑发现,个位数输出与两个输入数据的关系正好符合异或门的逻辑。进位输出与两个输入数据的关系正好符合与门逻辑,于是你便有了已下电路(半加器

image

既然有了1+1,那就能100+100,于是你根据二进制特性继续级联,你发现规律,个位一共有三个数相加:A+B+进位=加和,此时每个二进制都是如此,一次类推,多位二进制求和中每一个位相加都符合逻辑A+B+进位=加和。

image

多位加法器可以通过这种方式级联得到

image

简化如下图

image

级联后就是八位二进制加法器了

image

A和B分别是两个二进制的每一位。

至此你成功发明了一个能处理逻辑运算的电路,于是你在想能否研制一个减法功能的电路呢。你看着窗外,星辰遍布天空,此时已是午夜,月亮的光照在荧屏下,清冷的风透过纱窗,完成如此复杂的逻辑挑战后,靠在躺椅,你闭上了双眼,享受此时的片刻宁静与微风。