原标题:第二章 计算机底层逻辑之二进制
第一章的中的并联电路,能够拿来计算0+0=0,1+0=1,0+1=1这三组数,但在计算1+1=2时出现错误,现在我们的任务是找到一个电路,满足以下逻辑关系:
为了便于称呼,我们把上面那个开关命名为开关1,下面那个开关命名为开关2。另外我们不要忘记了,开关合拢代表输入1,开关断开代表输入0,灯泡亮代表输出1,灯泡灭代表输出0。那么上面这个表格等价于下面这个表格
我们看到问题来了:如何用灯泡来表示2?
我们知道,灯泡只有两种状态,灯泡灭表示0,灯泡亮表示表示1,那2呢?
有一种办法,硬件升级。把灯泡的两种状态升级为三种状态:灯泡灭,灯泡亮,灯泡非常亮。灯泡灭表示0,灯泡亮表示1,灯泡非常亮表示2。虽然麻烦似乎也可行,但很快我们会发现不现实,解决了2,怎么解决3?解决了3,又怎么解决4?……这在工程技术上非常难以实现。所以此路不通,我们要寻其它途径。
其实,如果我们在第一章里真正理解了符号的本质——人可以自由的定义(创造)符号来表达世间万物,那么这个问题根本就不是个问题。我们用符号10来代替2,那么这样便有:
0+0=0 1+0=1
1+0=1 1+1=10
怎么用灯泡来表示10,只需多加1个灯泡即可。见下图
另外三种情况则为
解决了用灯泡表示2,用同样的方法也就能解决3,我们定义两颗灯泡都亮表示3,也就是11表示3,要表示4的话,我们还得增加一颗灯泡,也就是用100表示4,用101表示5,用110表示6……
这里说下,符号创造和定义是自由的,你也可以用11表示2,用10表示3,或者用100表示2,或者用110表示2,但是我们没有这么做,而是选择用10表示2,11表示3,100表示4,101表示5……因为这种表示是有序的,有规则的,如下表
可以看到,0和1两个符号排列组合是有秩序的,也就是有规律可循的。如果0和1的排列组合是混乱无序的话,我们就需要靠记忆来记住这些符号和它对应的数值,而数是无限的,人脑不可能记住无限的符号。如果这些符号排列顺序是有法则的话,我们只要记住排序法则就记住了所有的符号和它代表的数。
这种法则很简单:0和0相加,等于0;0和1相加,等于1;1和1相加,等于10,也就是本位是0,向高位进1 。
比如2+3=5,按我们创造的符号,10代表2,11代表3,则有
也即101代表5
像这样用两个符号,以及用这两个符号的有序排列组合,来计数的方式,叫做二进制。
我们平时使用的是十进制计数,就是用10个符号以及这些符号的有序排列组合来表示数。以后我们还会遇到16进制,顾名思义,用到了16个不同的符号。
有了二进制计数,理论上,我们只要有足够多的灯泡,就可以表示所有的数。1个灯泡可以表示两个数;2个灯泡,按照排列组合的原理,可以表示
个数,即4个数;同理:
3个灯泡,能表示
个数,即8。可以拿来表示0---7
4个灯泡,能表示
个数,即16。可以拿来表示0---15
责任编辑: