根据运算前后的符号位可判别溢出。设X、Y、Z分别表示两个参加运算的数的符号位及运算结果的符号位,那么若逻辑表达式X.Y.的值与..Z的值进行(38)运算的结果为1,则表示溢出。A.与B.或C.与非D.异或

题目

根据运算前后的符号位可判别溢出。设X、Y、Z分别表示两个参加运算的数的符号位及运算结果的符号位,那么若逻辑表达式X.Y.的值与..Z的值进行(38)运算的结果为1,则表示溢出。

A.与

B.或

C.与非

D.异或

参考答案和解析
正确答案:B
解析:当两个同符号数相加或者两异号数相减时,运算结果若超出固定码长的数据表示范围,就会发生溢出。例如,X=+65D=+1000001B(D、B分别表示十进制数、二进制数),Y=+67D=+1000011B,编码总长度为8位,那么:[X+Y]补=[X]补+[Y]补=01000001+01000011=10000100符号位为1,表示结果为负数,两正数相加得负数,这显然是荒谬的,因为发生了溢出。判断溢出有四种方式:①双符号位法,即用00表示正数,11表示负数,当运算结果的两个符号位上的数不一样时,则表明发生了溢出。承上例:[X+Y]补=[X]补+[Y]补=001000001+001000011=010000100②进位判断法,当数值最高位和符号位向上一位都有进位或者都没有进位的时候(即异或结果为0),表示没有溢出,否则表示有溢出。③根据运算结果的符号位SF和进位标志CF的异或结果来判断,即若SFCF结果为1,表示运算的结果产生溢出。④根据运算前后的符号位进行判别,设X、Y、Z分别表示两个参加运算的数的符号位及运算结果的符号位,那么若逻辑表达式的值为1,则表示溢出。或运算也称为逻辑加,常用符号OR、∪、V或+表示。从上面的分析可见,在做题时要注意将其作为引子举一反三,此次考的是用第④种方法判断溢出,以后考的就可能是其余三种,而将这四种都掌握了,“鱼网”就织得密集结实,做到了未雨绸缪,获胜的把握就更大。
更多“ 根据运算前后的符号位可判别溢出。设X、Y、Z分别表示两个参加运算的数的符号位及运算结果的符号位,那么若逻辑表达式X.Y.的值与..Z的值进行(38)运算的结果为1,则表示溢出。A.与B.或C.与非D.异或 ”相关问题