第二章数字的表示和运算

一·多路选择器与三态门
多路选择器:mux。为一个梯形,下端为输入,上端为输出,腰为控制信号。
注:若有八个信号输入,则控制信号至少要log2 8=3位。因为要决定编号为几的通过。
三态门:只有一个输入和一个输出,控制信号只有一位,当控制信号为0时输出端会变为高阻态(短路)。

二·加法器
加法器的基本功能:通过门电路处理加法
一位全加器(仅支持1bit加法,分别对个位,十位这样相加):1·处理本为和,使用异或门,当有奇数个1相加时输出1,即加数与被加数加低位的进位之间的加法。2·处理进位,当两个本位都为1或当两个本位为1且低位的进位为1时,进位。

并行加法器(支持nbit加法)1·串行进位: 由n个1位全加器组成,但是要等上一位的加法器确认进位信息才能激活第二个加法器
2·并行进位,通过cla部件,使得进位同时进行

带标志位的加法器:当需要关心本位和是为0,还是大于0,或小于0,还有溢出时,需要加入标志位来表示这些状态。 1·of:通过高位和低位进位的异或运算的到,表示有符号数是否溢出 2·sf:表示正负,直接去本为和的最高位即可 3·zf:判断运算结果是否为0,仅当运算结果全为0时,输出结果才为0??????? 4·cf:表示无符号数是否溢出,通过cin和cout异或运算的到。

三·算术逻辑单元alu
是控制器的核心,加减乘除都基于加法实现,所以法器则是alu的核心。
alu可以进行算术运算和逻辑运算等等。注-:若由k种功能则控制信号至少需要log2k位。
程序状态寄存器(fr psw):在alu中起到存储标志位信息的作用

四·定点数的移位运算
算术移位:1·反码表示的负数,无论左右移都需要在左右两端补1。
2·补码表示的负数,左移的时候在最右端补0.右移最左端补1
3·在计算机中,乘法和除法运算,都是基于移位运算和加法来进行的。
逻辑移位:争对无符号数的移动。例如在存储rgb的数据样例中,先用长为3B长度来存红再向左移动16位,再分别存绿和蓝,然后向左移动。最终相加的到长为24字节的rgb数据条。
循环移位:重点注意下带进位位的循环移位。
五·定点数的加减运算
原码的加减运算:
溢出判断:当正加正得到负数时可以判断为上溢。当负数加负数得到正数时可以判断为下溢。
方法一:采用一位符号位,结果为0则没有溢出,结果为1则有溢出
方法二:采用一位符号位,根据进位情况判断溢出,当最高数值位与符号位的进位情况不同时,则有溢出。因此可以用异或逻辑表示,溢出则输出1.
方法三:采用双符号位,若最终符号位01,则表示上溢。若最终符号位10,则表示下溢。
注释:双符号位补码又称作模4补码(双符号位实际上也是存储一个符号位,运算时会复制一个符号位)。单符号位的补码又称作模2补码
六·无符号数的加减运算
首先带符号数的补码减法运算中,将a-b转化位a+(-b),而n转化为-b直接将b再转化为他的补码即可,但是这里的转化是要改变符号位的。即补码的补码
无符号数的减法运算与上述一致
手算溢出,由于无符号数表示范围为0到2的n次方-1。考试可以手算是否超出范围
计算机如何判断溢出? 当最高进位位为1时则法神溢出。在减法运算中,最高位为0则溢出。
七·补码加减运算电路
当进行加法运算时,多路选择器走直线,不需要操作。执行减法时,需要取反加1。
八·原码,补码的乘法运算
一:确定符号位,使用异或逻辑即可。
二:多轮的加法(结果相加)和移位(错位)操作即可

posted @ 2025-11-02 22:37  花捂嘴  阅读(39)  评论(0)    收藏  举报