编码的本质及计算机的工作原理( 四 )
文章图片
香农 , 最先洞察到了开关系统和布尔逻辑的关系 , 并发表论文《继电器和开关电路的符号化分析》 , 可以说 , 这篇文论让人们意识到 , 可以用电路来实现二进制表示和二进制计算 。香农活到了二十一世纪 , 当他看着这个世界 , 因为他的贡献而变得如此美好时 , 内心一定是很欣慰的 。香农更有名的一篇论文是《通信的数学原理》 , 学过通信的人 , 不能不知道这篇论文 。作为信息论的创始人 , 香农当之无愧 。来思考一个有趣问题:香农为什么没有拿图灵奖呢?
文章图片
文章图片
六. 二进制计算的实现继续回到正题 , 反思一下上面的设计 , 问题就在于电压位太多了 , 导致0v和9v中间插入了太多的电压位 , 相邻电压位容易错乱干扰 , 不准确 。
联想一下前面提到的二进制 , 能不能用二进制来计算呢?把0编码成0v, 把1编码成9v, 也就是用0v标志0 , 用9v表示1 , 完全可以 , 看设计图:
文章图片
文章图片
这样 , 即使电压出现偏差 , 比如8.4v, 也认为它是9v产生的偏差 , 所以判定它是9v , 对应二进制的1. 如果出现1.6v, 知道这是0v出现了偏差 , 所以可以判定它是0v, 对应二进制的0.由此可见 , 引入只有0v,9v这两个电压位后 , 系统会更稳定可靠 , 出错的可能更小 。两个电压位的加法 , 其实就是二进制加法 。二进制中的0用0v来表示 , 二进制中的1用9v来表示 。至于14.001加38.002 , 要实现准确计算也很简单 , 无非就是多加几根电线 , 专门表示001和002 , 跟整数加法的逻辑类似 。这样一来 , 0.001和0.002就是准确值 , 不怕电压波动 。上面是6位二进制数字和6位二进制数字加法器 , 如果用电路实现它 , 首先就要实现1位二进制和1位二进制相加的加法器 , 即我们需要做一个下图中的“神秘电路” , 其实就是“半加器”:
文章图片
文章图片
到此为止 , 虽然没有完整地设计出加法器的具体电路 , 但对计算机的计算原理 , 有比较深刻的认识 。计算机的计算本质 , 就是将要计算的数字 , 进行二进制编码 。然后 , 用对应的电路的高低电压(如9v和0v)来表示 , 通过电路的逻辑功能 , 从电路的输出中得到高低电压 , 进而理解为二进制 , 并最后转化为数字 , 作为结果值 。需要注意 , 高低电压(如9v和0v) , 在数字电路中 , 经常被称为高电平和低电平 。下次我们提到高电平时 , 表示二进制数字1 ,而提到低电平时 , 表示二进制数字0.那么 , 高电平和低电平一定是9v和0v吗?显然不一定 。也可以把高低电平分别定义为5v和0v , 在proteus仿真时 , 我用5v表示高电平) , 而用0v表示低电平 。这样 , 就实现了用电路来计算二进制 。有了编码和计算 , 我们才能让计算机 , 呈现出丰富多彩的功能 , 这就是计算机的工作原理 。粗略说起来 , 也是挺简单明了的 。
文章图片
文章图片
总结一下 。本文我们介绍了计算机的工作原理 , 又讲了编码的本质和二进制编码 , 然后讲了二进制编码的好处 , 最后从设计图的角度 , 实现了二进制加法 。
- 智库论坛 | 社区电商推动供应链数字化转型的对策建议
- 人类与AI如何共处?诺奖科学家、将棋天才、“低欲望社会”提出者的不同解答
- 线上新书发布!云上带你了解有关“冬奥”的那些事儿
- 我的世界大闹天宫龙宫怎么玩(我的世界大闹天宫龙宫打法技巧一览)
- 复苏的魔女竞技场用什么队伍(复苏的魔女竞技场队伍搭配心得分享)
- 复苏的魔女魔导装备boss怎么打(复苏的魔女魔导妨害装备获取攻略大全)
- 今年的iphonese,还是你熟悉的模样
- 长安福特蒙迪欧在中国市场的“全球化”
- safari浏览器中的indexeddb漏洞
- 复苏的魔女时空裂隙用什么阵容好(复苏的魔女时空裂隙阵容搭配指南)