看计算机组成遇到这样一道题:
两个同符号的数相加或异符号的数相减,所得结果的符号位SF和进位标志CF进行__D__运算为1时表示运算的结果产生二进制溢出怎么判断。
正溢:两个正数相加而绝对值超出允许的表示范围
负溢:两个负数相加绝对值超出允许的表示范围
以上是对2个4位的带符号二进制数进行运算運算结果仍然是1个4位带符号二进制数。
可以知道这个范围是-16~+15上例中,例2和例4结果二进制溢出怎么判断
令两个操作数的符号位分别为:Sa,Sb
符号位直接参与运算所产生的符号位进位为CF
讲符号位之后的A1和B1称为最高有效位,它产生的进位为C
在例3中,C=1但并没有二进制溢出怎麼判断,进位不等于二进制溢出怎么判断不能简单地单个进位信号去判断有无二进制溢出怎么判断。
给出一个判断二进制溢出怎么判断恏用的方法:
单位号位的信息量只能表示两种可能:数为正或为负如果产生二进制溢出怎么判断,就会使符号位的含义产生混乱将符號位扩充为两位,信息量扩大就能判别是否有二进制溢出怎么判断以及结果的正确符号。
同样以前面的几个算式为例:
00——结果为正無二进制溢出怎么判断
11——结果为负,无二进制溢出怎么判断
双符号位中高位就是符号位的进位:CF,低位是结果位的符号位:SF
当CF与SF不同時表示二进制溢出怎么判断,
相同时表示操作正常。