【发布时间】:2019-03-06 19:41:55
【问题描述】:
我很难理解使用 8 位有符号整数的以下等式是否存在任何溢出。
0b00000000 - 0b10000000
【问题讨论】:
-
这将更好地表示为代码,而不是从代码中删除一个度数的东西。同时编译所有警告 (
-Wall) 以查看编译器是否对处理该代码犹豫不决。 -
是的,这个问题肯定需要示例代码。
-
0b10000000并不是真正的“2 的补码符号”。它是一个 8 位值的 二进制 表示法。0b...0,1 digits...是一个非标准的整数二进制常量,通常是int类型。 C 代码无法使用 8 位数学进行减法运算,即使常量是char,正如 R.. 很好解释的那样。如果答案/cmets 不能很好地解决您的问题,您真的应该添加更多细节。