所以,这是一个经典,但我在任何地方都找不到决定性的答案。
假设我有一个整数“x”。我正在循环执行“++”操作。像这样的东西:
int x=0;
while(true){
x++;
print(x);
}
我想输出将从某个最大值旋转到某个最小值,但是这些值是什么?
它还取决于使用的编程语言吗?
所以,这是一个经典,但我在任何地方都找不到决定性的答案。
假设我有一个整数“x”。我正在循环执行“++”操作。像这样的东西:
int x=0;
while(true){
x++;
print(x);
}
我想输出将从某个最大值旋转到某个最小值,但是这些值是什么?
它还取决于使用的编程语言吗?
它在很大程度上取决于语言,以及该语言是如何实现的,以及接下来会发生什么。
最大值和最小值还取决于数据类型(在这种情况下为 int)是有符号还是无符号(即它可以是负数吗?),以及使用多少位来实现它(赢得了 16 位整数) ' 不能容纳与 64 位整数一样大的数字)。您的语言可能会或可能不会指定整数位数。
如果您使用 C,您可以#include <limits.h>
访问INT_MAX
宏,它会告诉您 int 在您的编译器下可以在您的系统上保存的最大数字。INT_MIN
相应地为您提供最小值。
是的,在 java 中,例如 integer.MAX_VALUE + 1 最终是 integer.MIN_VALUE,也是 integer.MIN_VALUE - 1 = integer.MAX_VALUE。我不确定所有语言如何处理这个问题,但有一个例子给你。
一些比较原始数据类型及其默认值/最大值/最小值的参考:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html