前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么计算机用二进制—布尔逻辑和逻辑门(一)

为什么计算机用二进制—布尔逻辑和逻辑门(一)

作者头像
硬核编程
发布2019-08-19 21:43:50
9170
发布2019-08-19 21:43:50
举报

我们开始"抽象"的旅程,不用管底层细节,把精力用来构建更复杂的系统。上一节,我们谈了计算机最早是机电设备,一般用十进制计数,比如用齿轮数来代表十进制, 再到晶体管计算机。

原因一

幸运的是,只用 开/关 两种状态也可以代表信息,这叫二进制。意思是"用两种状态表示",就像自行车有两个轮,双足动物有两条腿,你可能觉得两种状态不多,你是对的!但如果只需要表示 true 和 false,两个值就够了。

电路闭合,电流流过,代表 "真",电路断开,无电流流过,代表"假",二进制也可以写成 1 和 0 而不是 true 和 false, 只是不同的表达方式罢了。我们下一节会讲更多细节

晶体管的确可以不只是 开/关,还可以让不同大小的电流通过,一些早期电子计算机是三进制的,有 3 种状态,甚至五进制,5 种状态。问题是,状态越多,越难区分信号,如果手机快没电了或者附近有电噪音因为有人在用微波炉,信号可能会混在一起...而每秒百万次变化的晶体管会让这个问题变得更糟!所以我们把两种信号尽可能分开,只用"开"和"关"两种状态,可以尽可能减少这类问题。

原因二

计算机用二进制的另一个原因是,有一整个数学分支存在,专门处理"真"和"假",它已经解决了所有法则和运算叫"布尔代数"!乔治·布尔(George Boole)是布尔二字的由来,是一位 19 世纪自学成才的英国数学家,他有兴趣用数学式子 扩展亚里士多德基于哲学的逻辑方法,布尔用 逻辑方程 系统而正式的证明真理,他在 1847 年的第一本书"逻辑的数学分析"中介绍过。

在"常规"代数里,你在高中学的那种,变量的值是数字,可以进行加法或乘法之类的操作。但在布尔代数中,变量的值是 true 和 false,能进行逻辑操作。

布尔代数中有三个基本操作:NOT, AND 和 OR。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员成长充电站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档