最近看了一本书《编码》,如何从头开始构建一台计算机。从最基础的莫尔斯编码到二进制,基础电路和布尔逻辑运算的神奇结合。产生了目前人类最伟大的发明-计算机。
二进制(binary)
二进制的提出者是德国数学家莱布尼茨,他和牛顿发现了高等数学中的微积分。用二进制记数只需要用到0和1两个符号,逢二进一。我们一般习惯了十进制,用0-9十个符号来表示数,逢十进一。二进制和十进制记数原理相同,仅仅是符号用的少。
下面是二进制和十进制0-10的对照表。
十进制 | 二进制 |
---|---|
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
9 | 1001 |
10 | 1010 |
布尔运算(逻辑运算)
所有男人都必有一死;苏格拉底是男人;因此,苏格拉底会死。
类似代数,布尔运算符号为:and、or、not。在计算机中的逻辑运算中也叫与、或、非。算子不是一般的数字,而是集合。
逻辑运算且满足一般代数运算的交换率、结合率和分配率。