gpt4 book ai didi

java - C 与 Java 中变量的最大值

转载 作者:行者123 更新时间:2023-11-30 14:42:58 24 4
gpt4 key购买 nike

我在这里遇到一个问题,要求我显示变量可以存储的最小值和最大值,包括:短整型、整数、长整型和浮点型。我应该用比正确答案少 1 的值来初始化它,然后加 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, 9quintillionL float 是我一时想不起来的东西

但是 C 是我感到困惑的地方。
短的好像都是一样的。但是 Long 只能保存与 Int 相同的值?文档说 int 有时只能是 -32768 - 32767?

我不知道如何用 float 来完成这个项目。无论我为 float 分配什么值来测试它,它都会在 printf 中打印不同的内容

最佳答案

您可以使用limits.h找出系统上最大的整数值是多少。您可以使用float.h找出最大的浮点值是多少。

这是一个 limit.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);
}

我不确定你的教练所说的“比最大 float 少一”是什么意思。小于最大 float 1是无法表示的。

No matter what value I assign the float to test it, it prints something different in printf

float 无法精确表示所有数字。以下是如何判断您是否可以准确地表示它的方法:

  1. 将其转换为分数
  2. 减少分数
  3. 检查分母是否为 2 的幂。

示例:0.1能否精确表示?

  1. 首先,将其转换为分数:1/10
  2. 接下来,减少:1/10
  3. 10 不是 2 的幂。因此,0.1无法精确表示。

关于java - C 与 Java 中变量的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54228311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com