【发布时间】:2013-06-03 13:11:09
【问题描述】:
所以,这是一个经典,但我在任何地方都找不到决定性的答案。
假设我有一个整数“x”。我正在循环执行“++”操作。
像这样的:
int x=0;
while(true){
x++;
print(x);
}
我想输出会从某个最大值旋转到某个最小值,但是这些值是什么?
它还取决于使用的编程语言吗?
【问题讨论】:
-
我能理解的是这个。如果 lang 使用 32 位,对于有符号的值将从 (- 2^31) 旋转到 (+ 2^31 -1),对于无符号的值将从 0 旋转到 (2^32 -1)。我在这里完全准确吗?
-
这听起来像是一个合理的假设。顺便说一句,您的编译器可能比我们知道的更多。将 x 设置为 2^31 -2,看看当您递增两次时会发生什么。