0

所以,这是一个经典,但我在任何地方都找不到决定性的答案。
假设我有一个整数“x”。我正在循环执行“++”操作。像这样的东西:

int x=0;
while(true){
    x++;
    print(x);
} 

我想输出将从某个最大值旋转到某个最小值,但是这些值是什么?
它还取决于使用的编程语言吗?

4

3 回答 3

0

它在很大程度上取决于语言,以及该语言是如何实现的,以及接下来会发生什么。

最大值和最小值还取决于数据类型(在这种情况下为 int)是有符号还是无符号(即它可以是负数吗?),以及使用多少位来实现它(赢得了 16 位整数) ' 不能容纳与 64 位整数一样大的数字)。您的语言可能会或可能不会指定整数位数。

如果您使用 C,您可以#include <limits.h>访问INT_MAX宏,它会告诉您 int 在您的编译器下可以在您的系统上保存的最大数字。INT_MIN相应地为您提供最小值。

于 2013-06-03T13:21:29.387 回答
0

是的,在 java 中,例如 integer.MAX_VALUE + 1 最终是 integer.MIN_VALUE,也是 integer.MIN_VALUE - 1 = integer.MAX_VALUE。我不确定所有语言如何处理这个问题,但有一个例子给你。

于 2013-06-03T13:22:12.437 回答
0

一些比较原始数据类型及其默认值/最大值/最小值的参考:

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

http://www.cplusplus.com/reference/climits/

于 2013-06-03T13:14:26.187 回答