图灵完备之路(数电学习三分钟)----运算基础五之八位逻辑运算与取反运算
本文介绍了八位逻辑运算和取反运算的实现方法。在八位逻辑运算部分,通过将各个位单独运算,实现了八位取非、或、与等基本逻辑门电路设计。在取反运算部分,详细解释了补码的概念和二进制负数的表示方法,指出取反操作可以通过位取反加1实现,并给出了相应的电路设计方案。文章从基础逻辑运算延伸到负数表示,为数字电路中的算术运算提供了实现思路。
1.八位逻辑运算
上节中我们实现了八位全加器的设计,在这节,我们将实现八位数据的取非/相或等逻辑操作。
八位非
首先从最简单的八位取非开始,如果我们想过得八位数的非值,仅需将其各个位取非即可,这里不作赘述,电路如下:

八位或
两个八位数宽的数据相或,其本质也是两个数的对位相或,电路如下:

八位与
同上

有了与或非,我们不难设计出其他的八路逻辑门,最后再以与非门为例:

将八位与门封装,再将八位非门封装,可以简化如下:

其余逻辑门这里不做赘述。
2.取反运算
在取反前,我们需要认识负数:在数电的物理世界中,状态只存在有与无,没有第三种状态,所以在数电的逻辑中,负数是人为规定出来的,怎么规定呢?我们以四位的数为例,比如11,其值是1011,其负数与他的和为0,所以他的数加上1011必然为0000,我们用0000减去1011,得到的就是-11了,0000减1011不够减,需要借更高位,所以我们相当于用10000来减1011,但由于只有四位,最高位是凭空借的,自然就不用还了,那么-11的二进制便是0101,但0101又代表5,这可如何是好,不如将最高位作为正负符号来使用,只用余下三位来表示数,这样我们便得到了负数的约定。通过这个约定的过程,我们还发现,5与-11,刚好和四位的最高值16有关,所以我们称-11是5的补码。
概念扩充到8位,最高值位256,若要表示-13,那么只要找到他的补码即可,补码为243,二进制为11110011,最高位为负数,所以最高位为0,在我们的规定中-13便为01110011.当然,这个世界我说的不算,还得按专家的意思来,专家规定,最高位为1是负数,最高位为0是正数。所以真正的-13为11110011,而01110011为128(256的一半)减去13---115。
有了以上概念,我们就可以进行取反的电路设计了:
先忽略正负号的存在,8位的-1为256-1=255(11111111),其就是1(00000001)的相反数;8位的-18为256-18=238(11101110),其就是18(00010010)的相反数,所以我们可以注意到,其相反值就是所有位取非,然后加上一位1而已,那么我们便可以设计出以下电路:

更多推荐



所有评论(0)