二进制的发展

建议直接看wiki里的二进制解释。

?在数学和数字电路中,二进制是指以2为基数的记数系统,也就是说这个系统是二进制的。在这个系统中,通常使用0和1。在数字电路中,逻辑门直接采用二进制。因此,现代计算机和依赖计算机的设备都使用二进制,每个数称为一位(二进制位)。Bit是二进制数字的缩写,这个术语第一次正式使用是在香农的著名论文《通信的数学理论》第1页。

?比特是二进制中的一位,是信息的最小单位。位是二进制数字的混合字。

?1605年,弗朗西斯·培根提出了一个能将26个字母转换成二进制数的系统。此外,他补充说,这种想法可以应用于任何东西:“只要这些东西之间的差异是简单的对立,比如钟声和号角,灯光和手电筒,以及步枪和类似武器的射击声。”这对二进制编码的一般理论具有重要意义。(参见培根密码)

?现代二进制记数系统是戈特弗里德·莱布尼茨在1679年设计的,并出现在他的文章《论仅使用符号0和1的二进制算术,及其使用和它赋予伏羲使用的古代图形的意义》[1]中。与二进制数相关的系统也出现在一些更早的文化中,包括古埃及、古中国和古印度。中国的易经尤其引起了莱布尼茨的联想。

?莱布尼茨关于二进制的论文的全称是《论仅使用符号0和1的二进制算术,及其使用和它赋予伏羲使用的古代图形的意义》(1703)。类似于现代的二进制计数系统,莱布尼茨的系统使用0和1。下面是莱布尼茨二进制计数系统的一个例子:

?1954年,英国数学家乔治·布尔发表了一篇里程碑式的论文,论文中详细介绍了一个代数逻辑系统,后来被称为布尔代数。他的逻辑演算对后来的电子电路设计起了基础作用。

?在这里,我们要学习布尔代数。

?逻辑代数是代数的一个分支,它的变量值只由真和假组成,实际上是1和0。逻辑代数的主要运算是NAND,所以用普通代数描述数值关系的方式来描述逻辑关系是一种形式主义。乔治·布尔在他的第一本书《逻辑的数学分析》(1847)中介绍了逻辑代数,在《思维规律的研究》(1854)中更全面地提出了逻辑代数。[[1]](https://zh.wikipedia.org/wiki/逻辑代数#cite_note-1)是Sheffer在1913中根据Huntington中的“布尔代数”一词首次提出的。[ 2]

?逻辑运算中涉及的变量称为逻辑变量,用字母a,b …表示。每个变量的值不为0,即1。0和1并不代表数字的大小,而是代表两种不同的逻辑状态。

正反逻辑规定:

逻辑代数的基本运算如下。

?20世纪初,一些电子工程师意识到,逻辑代数与一些电子电路的行为非常相似。Shannon在他的论文1937中证明了这种行为等价于逻辑代数。

几乎所有现代通用计算机都使用二进制布尔逻辑进行运算。也就是说,它们的电路是二进制布尔逻辑的物理表示。几种表示法:导线上的电压、磁存储器件中磁畴的方向、穿孔卡片或纸带上的孔等等(但早期的一些计算机用十进制电路或机械代替二进制逻辑电路)。

当然,也可以在任何介质中编码两个以上的符号。例如,在导线上使用0,1,2,3伏电压,用四个符号对一个字符集进行编码,或者在穿孔卡片上使用不同大小的孔。但实际上,噪声是小型高速低功耗电路的关键因素。这使得区分多个可能的符号变得困难。所以电路设计者选择了高低两种电压,而不是四种。

由于上述原因,计算机使用二进制逻辑电路。最常见的计算机架构使用32或64个布尔序列称为位,如01100110101111065438。在使用机器语言、汇编语言和一些高级语言时,程序员可以操纵寄存器的数字结构。在寄存器中,电压0代表逻辑0,参考电压(通常是+5伏或+3.3伏[[4]](https://zh.wikipedia.org/wiki/逻辑代数#cite_note-4))代表逻辑1。这些语言支持数字运算和逻辑运算。这里的“数值运算”是指计算机将比特序列作为二进制数进行加、减、乘、除的运算。“逻辑运算”是指两个位序列之间的AND或NOT运算,一个序列中的每一位与另一个序列中相应的位进行运算。这两种操作的关键区别在于前者有进位,后者没有。

?65438-0937年,克劳德·香农在麻省理工学院完成了电气工程硕士学位论文,用继电器和开关实现了布尔代数和二进制算术运算。论文题目是“继电器和开关电路的符号分析”[7],其中香农的理论为数字电路奠定了理论基础。Shannon因为这篇论文获得了1940阿尔弗雷德诺贝尔学会的美国工程师奖。哈佛大学的霍华德·加德纳说,香农的硕士论文“可能是本世纪最重要、最著名的硕士论文”。

?有读者看过编码的奥秘吗?这本书的第六章已经介绍了什么是继电器,但确切的名称是电磁继电器。在编码的奥秘中,似乎很容易知道继电器是什么,就是把一个线圈和另一个线圈连接起来继续工作的电器。但是wiki里的解释不是这样的,作者也很好奇名字relay是怎么翻译的。维基中的解释如下: