c – 添加两个有符号或无符号整数

前端之家收集整理的这篇文章主要介绍了c – 添加两个有符号或无符号整数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
自从我上次编程的位和字节水平已经很久了,想要确认我似乎记得从那些日子:

说我有两个相等长度的整数(1,2,4,8个字节,没关系),我把它们相加:如果它们是有符号的或无符号的,并不是一致的结果.换句话说:不管它们是否是有符号的或无符号的整数,这些位最终会是一样的吗?

我的直觉和虚弱的记忆告诉我他们会的,但我只是想确认.谢谢.

解决方法

假设实现使用2的补码作为有符号整数的表示,则结果将是相同的.在其他方面,他们不会.

编辑

正如在评论中指出的那样,签名添加中的溢出是未定义的行为,这在这种情况下对于结果没有任何意见.

猜你在找的C&C++相关文章