回 帖 发 新 帖 刷新版面

主题:求助!这样的加法为什么溢出?~~~~~~`

完成下列各式补码数的运算,判断结果是否溢出

(1) 49H + 9DH
(2) 41H - 0ABH
(3) 0A95H + 8CA2H
(4) 6531H + 0BD26H

答案:(1)  0E6H,不溢出  (2) 96H,溢出   (3) 35FDH 溢出   (4)  2257H ,不溢出

======
问:

1.在我看来,上面的式子都没有溢出啊,为什么答案说(2)(3)溢出了?
2.0ABH这样的东西是真值还是补码什么的?怎么知道是正的还是负的?

3.如果将一个长达一个字的内容压入stack,比如ABCF,那么AB是存放在低位的地址还是高位的地址?如果我没记错的话,入栈操作时,栈顶指针是往低地址移动对吧?


急啊,谢谢各位!!

回复列表 (共4个回复)

沙发

1.在我看来,上面的式子都没有溢出啊,为什么答案说(2)(3)溢出了?
(2)溢出(3)没有溢出
2.0ABH这样的东西是真值还是补码什么的?怎么知道是正的还是负的?
是真值,我也不知如何判断正负
3.如果将一个长达一个字的内容压入stack,比如ABCF,那么AB是存放在低位的地址还是高位的地址?如果我没记错的话,入栈操作时,栈顶指针是往低地址移动对吧?
AB是存放在高位
入栈操作时,栈顶指针是往低地址移动,也就是往上移动

板凳

补充:

一般采用将最高字节的首位作为符号位,该位=0为正,否则为负 ;这要看题中的条件

3 楼

所谓有符号数与无符号数,是人们为了方便理解机器中的数据运行情况及机器指令的实现,而定义的,在于人,而不是机器,机器只知道二进制代码。

4 楼

我有二个问题
第一:0A95H 是正是负?
第二:41H-0ABH的计算过程是怎么样的?我忘记了

我来回复

您尚未登录,请登录后再回复。点此登录或注册