【发布时间】:2013-02-04 10:06:28
【问题描述】:
自从我上次在位和字节级别编程以来已经有很长时间了,我想确认一下我似乎记得的那些日子:
假设我有两个长度相等的整数(1、2、4、8 字节;没关系),我将它们相加:如果它们有符号,则和的逐位结果是否不同或未签名。换句话说:无论它们是有符号整数还是无符号整数,这些位最终会相同吗?
我的直觉和脆弱的记忆告诉我他们会的,但我只是想确认一下。谢谢。
【问题讨论】:
-
IIRC,虽然结果看起来不错,但 C/C++ 标准说整数溢出会导致未定义的行为。 编辑:无符号算术不会溢出,并且正常遵循环绕。
-
@nhahtdh:谢谢;没关系。我用 C++ 标记了它,因为我认为这会是一个很好的听众,但我将在另一种语言中使用它。
标签: c++ c integer twos-complement