当前位置: 首页 > 面试题库 >

Java 整数最大值

羊和光
2023-03-14
问题内容

在C中,整数(对于32位计算机)为32位,范围为-32,768至+32,767。在Java中,整数(long)也是32位,但范围为-2,147,483,648至+2,147,483,647。

我不了解Java中的范围有何不同,即使位数相同。有人可以解释吗?


问题答案:

在C语言中,语言本身无法确定某些数据类型的表示形式。它因机器而异,在嵌入式系统上int可以为16位宽,尽管通常为32位。

唯一的要求是short int<= int<= long int大小。另外,有一项建议int应代表处理器的本机容量。

所有类型均已签名。该unsigned修改器允许你使用最高位的值(否则它被保留为符号位)的一部分。

这是可能的数据类型的可能值的简要表:

          width                     minimum                         maximum
signed    8 bit                        -128                            +127
signed   16 bit                     -32 768                         +32 767
signed   32 bit              -2 147 483 648                  +2 147 483 647
signed   64 bit  -9 223 372 036 854 775 808      +9 223 372 036 854 775 807
unsigned  8 bit                           0                            +255
unsigned 16 bit                           0                         +65 535
unsigned 32 bit                           0                  +4 294 967 295
unsigned 64 bit                           0     +18 446 744 073 709 551 615

在Java语言规范确定的数据类型的表示。

顺序为:byte8位,short16位,int32位,long64位。所有这些类型都是带符号的,没有未签名的版本。但是,位操作将数字视为无符号的(即,正确处理所有位)。

字符数据类型char为16位宽,无符号,并使用UTF-16编码保存字符(但是,可以分配一个char表示无效字符代码点的任意无符号16位整数)

          width                     minimum                         maximum

SIGNED
byte:     8 bit                        -128                            +127
short:   16 bit                     -32 768                         +32 767
int:     32 bit              -2 147 483 648                  +2 147 483 647
long:    64 bit  -9 223 372 036 854 775 808      +9 223 372 036 854 775 807

UNSIGNED
char     16 bit                           0        


 类似资料:
  • 我试图从Geeksforgeeks中解决最大整数值问题。 问题如下:给定一个数字(0-9)的字符串S,您的任务是找到可以从字符串中获得的最大值,方法是将“*”或“”运算符放在数字之间,同时从字符串的左到右遍历并一次拾取一个数字。 输入:输入的第一行包含T表示测试用例的数量。T测试用例紧随其后。每个测试用例包含一行表示字符串的输入。 输出:对于每个测试用例,打印获得的最大值。 这就是我所做的: 输入

  • 在C语言中,整数(对于32位机器)是32位,其范围为-32,768到+32,767。在Java中,整数(长)也是32位,但范围从-2,147,483,648到+2,147,483,647。 我不明白Java中的范围是怎么不同的,尽管位数是一样的。有人能解释一下吗?

  • 上面的输出是1。我不知道为什么。有人能解释一下吗? 提前谢谢。

  • 我有点惊讶地看到为什么在我的机器上,数组的最大大小是整数.MAX_VALUE/7 我知道数组是由整数索引的,所以数组大小不能大于整数.MAX_VALUE。我还阅读了一些堆栈溢出讨论,我发现它在JVM上有所不同,并且JVM使用了一些(5-8咬)。 在这种情况下,最大值也应为。 和 之间的任何值都会给我错误: 这是我可以分配给机器上数组的最大值。具体原因是什么? 更新:我正在运行eclipse中的代码

  • 本文向大家介绍java中最大的整数用法分析,包括了java中最大的整数用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java中最大的整数用法。分享给大家供大家参考,具体如下: 8种基本数据类型中,long类型所能表示的整数范围是最大的,但还是有限的。另外,基本数据类型中的整数还有一个问题,那就是不是每个数都能够正确的取负数。例如,对int型而言,“-2147483648”取负就不

  • 问题内容: 我正在寻找python中整数的最小值和最大值。例如,在Java中,我们有和。python中是否有类似的东西? 问题答案: Python 3 在Python 3中,此问题不适用。普通int类型是无界的。 但是,你实际上可能正在寻找有关当前解释器的字长的信息,在大多数情况下,该信息将与机器的字长相同。该信息在Python 3中仍以形式提供,这是一个有符号的单词可以表示的最大值。等效地,它是