⑵浮点补码加减运算的溢出判断方法
浮点补码加减运算的溢出通常是指浮点数上溢,浮点数是否溢出是由阶码是否大于浮点数所能表示的最大正阶来判断的。
例如,设浮点数的阶码采用补码表示,双符号位,这时浮点数的溢出与否可由阶码的符号进行判断: 若阶码[j]=01××?×,则表示出现上溢,需作溢出处理;
符号
若阶码[j]=10××?×,则表示出现下溢,按机器零处理。 3.14利用用十进制加减运算算法计算下列各题:
(1)125+436=?(2)125-436=?(3)436-125=? 解:(1)125+436=561 (2)125-436=-311 (3)436-125=311 3.16设有一个16位定点补码运算器,数据最低位的序号为1。运算器可实现下述功能: (1)A±B→A (2)B×C→A、C(乘积高位在A中) (3)A÷B→C(商在C中) 请设计并画出运算器第3位及A、C寄存器第三位输入逻辑。加法器本身逻辑可以不画,原始操作数输入问题可以不考虑。 解:见附页 3.19设一个8位寄存器中的内容为十六进制数C5H,连续经过一次算术右移、一次逻辑左移、一次大循环右移、一次小循环左移。写出每次移位后寄存器的内容和进位标志C的状态。 解:C5H= C寄存器
一次算术右移:1 一次逻辑左移:1 一次大循环右移:0 一次小循环左移:111000101 3.21选择题 (1)运算器的核心部分是C。 A.数据总线B.累加寄存器C.算术逻辑运算单元D.多路开关 (2)在浮点运算中下面的论述正确的是C。 A.对阶时应采用向左规格化 B.对阶时可以使小阶向大阶对齐,也可以使大阶向小阶对齐 C.尾数相加后可能会出现溢出,但可采用向右规格化的方法得出正确结论 D.尾数相加后不可能得出规格化的数 (3)当采用双符号位进行数据运算时,若运算结果的双符号位为01,则表明运算B。 A.无溢出B.正溢出C.负溢出D.不能判别是否溢出 (4)补码加法运算的规则是B。
A.操作数用补码表示,符号位单独处理 B.操作数用补码表示,连同符号位一起相加 C.操作数用补码表示,将加数变补,然后相加 D.操作数用补码表示,将被加数变补,然后相加 (5)原码乘除法运算要求C。
A.操作数必须都是正数B.操作数必须具有相同的符号位 C.对操作数符号没有限制D.以上都不对
(6)进行补码一位乘法时,被乘数和乘数均用补码表示,运算时A。
A.首先在乘数最末位yn后增设附加位yn+1,且初始yn+1=0,再依照ynyn+1的值确定下面的运算。
B.首先在乘数最末位yn后增设附加位yn+1,且初始yn+1=1,再依照ynyn+1的值确定下面的运算。 C.首先观察乘数符号位,然后决定乘数最末位yn后附加位yn+1的值,再依照ynyn+1的值确定下面的运
算。
D.不应在乘数最末位yn后增设附加位yn+1,而应直接观察乘数的末两位yn-1yn确定下面的运算。 (7)下面对浮点运算器的描述中正确的是A。
A.浮点运算器由阶码部件和尾数部件实现。 B.阶码部件可实现加、减、乘、除四种运算。 C.阶码部件只能进行阶码的移位操作。 D.尾数部件只能进行乘法和加法运算。
(8)若浮点数的阶码和尾数都用补码表示,则判断运算结果是否为规格化数的方法是C。
A.阶符与数符相同为规格化数。 B.阶符与数符相异为规格化数。 C.数符与尾数小数点后第一位数字相异为规格化数。 D.数符与尾数小数点后第一位数字相同为规格化数。 (9)已知[x]补=1.01010,[y]补=1.10001,下列答案正确的是D。 A.[x]补+[y]补=1.11011 B.[x]补+[y]补=0.11011 C.[x]补-[y]补=0.11011 D.[x]补-[y]补=1.11001 (10)下列叙述中概念正确的是D。 A.定点补码运算时,其符号位不参加运算。 B.浮点运算中,尾数部分只进行乘法和除法运算。 C.浮点数的正负由阶码的正负符号决定。 D.在定点小数一位除法中,为了避免溢出,被