关于二进制正数与负数的加法

问题描述:

关于二进制正数与负数的加法
将正数3FH和负数D0H相加怎么算,

正数、负数,应该先变成补码.然后再按照普通二进制来计算即可.
3FH、D0H,它们到底是数,还是码?
如果已经是补码,那么就是:3FH + D0H = 10FH.
如果要求八位的结果,那就是 0FH.
前面的1,可以视为进位 = 1.为什么这里的1是进位而不是溢出,还有我看到一题目说正数3FH与正数70H相加,其结果为AFH,最高位为1,成了负数的含义,这就不合理了,这种情况为溢出。我不太明白这段话,能帮我解释一下吗?谢谢啦这个运算,并没有溢出。-----------溢出和进位,不是同一个概念。--人,是从逻辑上来判断,共有四种溢出:正+正=负, 正数3FH、正数70H相加,结果AFH却是个负数,这就是溢出了。负+负=正正-负=负负-正=正你现在,是正+负,是不会溢出的。--CPU,是从符号的进位、数值的进位,来判断的,不相同,则认为是溢出。--这两种判断方法,结果是相同的。