- 逻辑开关
基础:布尔代数,一种讨论类的代数,基础运算有:与(&&)、或(||)、非(!)
真与假:0(假)、1(真)用0与1来表达是否符合类的条件
- 门(这里只介绍在二进制计算器中会使用的门)
与门:两边都为真才是真
输入1 | 输入2 | 输出 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
或门:两边其一为真就是真
输入1 | 输入2 | 输出 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 1 |
非门:真为假,假为真
输入 | 输出 |
---|---|
0 | 1 |
1 | 0 |
与非门:两边都输入真才会输出假
输入1 | 输入2 | 输出 |
---|---|---|
0 | 0 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
异或门: 输入相反才为真
输入1 | 输入2 | 输出 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
- 二进制加法
二进制加法器
半加器:一个与门控制进位,一个异或门控制自身所在的位
全加器:三个半加器(或两个半加器加一个或门)组合而成,计算包括低位进位在内的二进制计算
144个才能组成一个八位加法器 - 二进制减法
二进制减法器
通过反码和补码将计算变成加法:1-1 = 1+(-1) = 0
原因:减法要考虑退位,很复杂,以十进制为例,2345 - 1876,但是,可以将其转换为:2345-1876 + 9999 + 1 -10000 = 9999 - 1876 +2345 + 1 - 10000 则不用考虑退位,其中9999-1876称为1876的反码
那么:8位二进制减法A-B就可以变成:
1)1111 1111 - B (计算反码
2)+1 (输入位为1
3)-1 0000 0000 (进位位为0