溢出和携带标志

时间:2010-01-31 19:03:12

标签: overflow addition 8-bit

是否可以将两个带符号的8位数字相加并设置进位和溢出位?

3 个答案:

答案 0 :(得分:5)

根据你的意见,你的问题似乎是“是否有可能同时设置携带和溢出以获得涉及签名号码的二重补充?”它是。典型的实现是对链路末端的进位输出最后一个加法器的进位的异或 - 因此,负数的溢出将导致进位位被设置以及要设置的溢出位。

这是一个例子,将-1添加到-128:

Carry 10000 0000 
       1000 0000  (-128)
       1111 1111  (-1)
       ---------
       0111 1111 (oops, this is 127!)

进位将被设置,因为最后一次添加导致进位 - 并且将根据上面的规则设置溢出(同样,请注意-128加到-1显然不是127)

答案 1 :(得分:1)

您无权访问C中的标志,即使您可以让编译器生成设置它们的代码,您也无法使用它们。

答案 2 :(得分:0)

您可以在C中编写自己的添加例程,它将返回进位和溢出标志 签名的8位操作数。如果你指的是里面的硬件进位和溢出位 处理器,不,不能在C中移植。