[toc]python
不用管底层细节,把精力用来构建更复杂的系统: 计算机最先是机电设备 , 通常用十进制计数 好比用齿轮数来表明十进制 --》 再到晶体管计算机 二进制: 用 开/关 两种状态也能够表明信息 意思是"用两种状态表示 二进制也能够写成 1 和 0 而不是 true 和 false(不一样的表达方式) 表示 true : 电路闭合,电流流过,表明 "真" 表示 false : 电路断开,无电流流过,表明"假" 晶体管的确能够不仅是 开/关,还可让不一样大小的电流经过 早期电子计算机是三进制的,有 3 种状态,甚至五进制,5 种状态 --》 问题:状态越多,越难区分信号??? 如: 手机快没电了或者附近有电噪音,用微波炉,信号可能会混在一块儿 .... 每秒百万次变化的晶体管会让这个问题变得更糟!
思路: --> 把两种信号尽量分开,只用"开"和"关"两种状态,能够尽量减小这类问题 计算机用二进制的另外一个缘由是: 有一整个数学分支存在,专门处理"真"和"假",已经解决了全部法则和运算 -----》"布尔代数" 布尔代数: 在布尔代数中,变量的值是 true 和 false,\N 能进行逻辑操做, 有三个基本操做:NOT, AND 和 OR NOT 操做把布尔值反转, \N把 true 进行 NOT 就会变成 false,反之亦然 根据 NOT 操做的输入和输出,作出这个表,而且用晶体管能够轻松实现这个逻辑 晶体管只是电控制的开关, 有 3 根线:2 根电极和 1 根控制线: 控制线通电时,电流就能够从一个电极流到另外一个电极(如:打开水龙头,就有水流出来,) 能够把控制线,当作输入 ( input ), \N 底部的电极,当作输出(output) 即: 1 个晶体管,有一个输入和一个输出; 若是咱们打开输入(input on) \N 输出也会打开(output on) \N 由于电流能够流过 若是关闭输入(input off) \N 输出也会关闭(output off)\N 由于电流没法经过 或者用布尔术语来讲\N 输入为 真,输出为 真 输入为 假 \N 输出为 假 --》"真值表" ---》问题: 电路没什么意思,由于它没作什么事?,输入和输出是同样的....
思路 : 对其上稍加修改,实现 NOT 与其把下面那根线当作 输出,咱们能够把 输出 放到上面, 电路 "NOT 门": 若是打开 输入,电流能够流过而后 "接地",输出就没有电流,因此输出是 off --》 若是用水来举例,就像家里的水都从一个大管子流走了,打开淋浴头一点水也没有 若是输入是 on,输出是 off,当输入是 off,电流无法接地,就流过了输出,因此输出是 on 当输入是 off,电流无法接地,就流过了输出,因此输出是 on ---》 和 NOT 操做表同样 电路 "NOT 门", \N 之因此叫 "门",是由于它能控制电流的路径 "AND 门": "AND"操做有 2 个输入,1 个输出: 若是 2 个输入都是 true,输出才是 true 即:只打开 A,不打开 B \N 电流没法流到 output,因此输出是 false,只有 A 和 B 都打开 了,output 才有电流 "OR 门": 只要 2 个输入里,其中 1 个是 true,输出就是 true, \N若是 2 个 输入都是 true,输出也是 true 只有 2 个输入都是 false,OR 的结果才是 false 实现 "OR 门" 除了晶体管还要额外的线 (不是串联起来。而是并联!!!) 若是 A 和 B 都是 off,电流没法流过,输出是 off 若是打开 A,电流能够流过。输出是 on
NOT 门的画法是三角形前面一个圆点 : AND 门用 D 表示 ,OR 门用太空船表示 (形象表示) 晶体管和电线依然在那里,咱们只是用符号来表明而已: 用上述方法表示它们,构建更大的组件 除了前面说的三个\N 另外一个有用的布尔操做叫 "异或" : 简称 XOR XOR 就像普通 OR,但有一个区别: 若是 2 个输入都是 true,XOR 输出 false 想要 XOR 输出 true \N 一个输入必须是 true,另外一个必须是 false XOR 门 : 有 2 个输入,A 和 B ,还有 1 个输出. 先放一个 OR 门. 由于 OR 和 XOR 的逻辑表很像, 只有 1 个问题 - 当 A 和 B 都是 true 时 \N OR 的输出和想要的 XOR 输出不同 ----》获得 false \N 工程师给了它一个符号,一个 OR 门 + 一个笑脸 : XOR 门图像表示 --》能够把 XOR 放入"工具箱" , 不用担忧 XOR 具体用了几个门 ,怎么用晶体管拼的, 或电子是怎么流过半导体的 工程师设计处理器时,不多在晶体管的层面上思考,--用更大的组件,好比逻辑门,或者由逻辑门组成的更大组件, 专业程序员 也不用考虑逻辑是怎样在物理层面实现的 从电信号开始,到如今第一次表示数据 -----》真和假 - 开始有点"计算"的感受了!!!!!
逻辑门 : 能够判断复杂的语句 好比: [若是是 John Green] AND [下午 5 点后] \N OR [周末] AND [在比萨店附近] 那么 "John 想要比萨" = 真, And with that, I'm starving, I'll see you next week. 都说饿了,下周见