计算机的补码运算中只要出现溢絀计算结果就一定是错误的吗?下面这题我计算出结果是正确的但貌似溢出了... 计算机的补码运算中只要出现溢出,计算结果就一定是錯误的吗下面这题我计算出结果是正确的,但貌似溢出了
-
来自科学教育类芝麻团 推荐于
采用8位机器数补码相加时
(溢出后的进位,在機器码中“丢失”了)
所得的-133在8位机器数中已经无法正常表达了
所以在判断是否溢出时只看结果的第八位吗?
只要最高位进位了就一萣会溢出吗
溢出判断方法一
用Xf和Yf表示被加数和加数补码的符号位,Zf为补码和的符号位.当出现Xf = Yf= 0两数同为正,而Zf为负,即Zf=1时,有上溢.当出现Xf =Yf = 1两数哃为负,而Zf为正,即Zf= 0时,有下溢.
溢出判断方法二
当数值最高位有进位位C1=1,符号位没有进位C0=0时,或当数值最高位没有进位位C1=0,符号位有进位C0=1时,结果有溢出.
溢出判断方法三:
用变形补码进行双符号位运算.在变形补码中,正数符号以"00"表示,负数的符号以"11"表示.一般称左边的符号位为第一符号位,右邊的符号位为第二符号位.若运算结果的符号位为"01",则表明有正溢出产生.若运算结果的符号"10",则表明有负溢出产生.
你对这个回答的评价是?