或门
或门电路是指只要有一个或一个以上条件满足时,事情就会发生。下面是由MOS管组成的电路图。A和B作为输入,Q作为输出。例如A输入低电平、B输入高电平,那么Q就会输出高电平,转化为二进制就是A输入0、B输出1,那么Q就会输出1,对应的C语言运算表达式为0||1=1。
非门
非门电路又叫“否”运算,也称求“反”运算,因此非门电路又称为反相器。下面是由MOS管组成的电路图。非门只有一个输入A,Q作为输出。例如A输入低电平,那么Q就会输出高电平,转换为二进制就是A输入0,那么Q就会输出1;反之A输入1,Q就会得到0。对应的C语言运算表达式为!0=1。
异或门
异或门电路是判断两个输入是否相同,“异或”代表不同则结果为真。即两个输入电平不同时得到高电平,如果输入电平相同,则得到低电平。下面是由MOS管组成的电路图。A和B作为输入,Q作为输出。例如A输入低电平、B输入高电平,那么Q输出高电平,转换为二进制就是A输入0,B输出1,那么Q就会输出1,对应的C语言运算表达式为0^1=1。
通过这些门电路,我们可以进行布尔运算了
三、半加器和全加器
通过门电路,我们可以进行逻辑运算,但还不能进行加法运算,要进行加法运算,还需要更复杂的电路单元:加法器,加法器有半加器和全加器。加法器就是由各种门电路组成的复杂电路。
假如我们要实现一个最简单的加法运算,计算二进制数1 1 等于几。我们这时候可以使用半加器实现。半加器和全加器是算术运算电路中的基本单元,它们是完成1位二进制相加的一种组合逻辑电路,这里的1位就是我们经常说的“1byte=8bit”里的1bit,即如果我们想完成8位二进制的运算就需要8个全加器 。半加器这种加法没有考虑低位来的进位,所以称为半加。下图就是一个半加器电路图。