这周布尔逻辑和逻辑门内容,很重要,请细细品味。web
今天咱们开始"抽象"的旅程,不用管底层细节,把精力用来构建更复杂的系统。上一节,咱们谈了计算机最先是机电设备,通常用十进制计数,好比用齿轮数来表明十进制, 再到晶体管计算机。编程
缘由一微信
幸运的是,只用 开/关 两种状态也能够表明信息,这叫二进制。意思是"用两种状态表示",就像自行车有两个轮,双足动物有两条腿,你可能以为两种状态很少,你是对的!但若是只须要表示 true 和 false,两个值就够了。app
电路闭合,电流流过,表明 "真",电路断开,无电流流过,表明"假",二进制也能够写成 1 和 0 而不是 true 和 false, 只是不一样的表达方式罢了。咱们下一节会讲更多细节学习
晶体管的确能够不仅是 开/关,还可让不一样大小的电流经过,一些早期电子计算机是三进制的,有 3 种状态,甚至五进制,5 种状态。问题是,状态越多,越难区分信号,若是手机快没电了或者附近有电噪音由于有人在用微波炉,信号可能会混在一块儿...而每秒百万次变化的晶体管会让这个问题变得更糟!因此咱们把两种信号尽量分开,只用"开"和"关"两种状态,能够尽量减小这类问题。spa
缘由二.net
计算机用二进制的另外一个缘由是,有一整个数学分支存在,专门处理"真"和"假",它已经解决了全部法则和运算叫"布尔代数"!乔治·布尔(George Boole)是布尔二字的由来,是一位 19 世纪自学成才的英国数学家,他有兴趣用数学式子 扩展亚里士多德基于哲学的逻辑方法,布尔用 逻辑方程 系统而正式的证实真理,他在 1847 年的第一本书"逻辑的数学分析"中介绍过。code
在"常规"代数里,你在高中学的那种,变量的值是数字,能够进行加法或乘法之类的操做。但在布尔代数中,变量的值是 true 和 false,能进行逻辑操做。orm
布尔代数中有三个基本操做:NOT, AND 和 OR。blog
这些操做很是有用,咱们明天将一个个来看。
相关阅读:
一个会思考的技术小工
长按扫码关注,天天五分钟学习计算机最基础的知识和原理
右下角
给个在看呗
本文分享自微信公众号 - 硬核编程(hardcorecode)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。