我在这里遇到一个问题,要求我显示一个变量可以存储的最小值和最大值,包括:Short,Integer,Long和Float。我应该用比正确答案少一的值对其进行初始化,然后再添加1以证明该变量不会产生错误。 例子。
short srtMaximum = 32766;
srtMaximum += 1;
System.out.print(”Max value for short is “ + srtMaximum);
我应该针对C和Java执行此操作。 Java我没问题。 空头是-32768,32767 整数是-2,147,483,648、2,147,483,647 长-9quintillionL,9 quintillionL 漂浮是我不记得的事
但是我对C感到困惑。
短似乎是一样的。
但是Long只能保留与Int相同的值吗?
文档说一个int有时只能是-32768-32767?
我不知道如何使用浮点数执行此项目。不管我给浮点数赋什么值进行测试,它都会在printf中打印出不同的内容
答案 0 :(得分:1)
您可以使用limits.h来确定系统上最大的整数值。您可以使用float.h找出最大的浮点值。
以下是limits.h的示例:
#include <limits.h>
#include <stdio.h>
int main() {
printf("INT_MAX: %d\n", INT_MAX);
printf("UINT_MAX: %u\n", UINT_MAX);
printf("LONG_MAX: %ld\n", LONG_MAX);
printf("ULONG_MAX: %lu\n", ULONG_MAX);
}
我不确定您的讲师的意思是“比最大流通量少一个”。比最大浮点小1个是无法表示的。
无论我为浮点数赋什么值进行测试,它都会在printf中打印出不同的内容
浮点数不能精确表示所有数字。告诉您是否可以准确表示的方法如下:
示例:0.1
是否可以精确表示?
1/10
1/10
0.1
无法精确表示。