Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何计算基本数据类型的范围?_Java_Range_Primitive Types - Fatal编程技术网

Java 如何计算基本数据类型的范围?

Java 如何计算基本数据类型的范围?,java,range,primitive-types,Java,Range,Primitive Types,根据docs.oracle.com:- 字节:字节数据类型是一个8位有符号2的补码整数。它的最小值为-128,最大值为127(含)。字节数据类型对于在大型阵列中节省内存非常有用,而实际上节省内存很重要。它们也可以用来代替int,因为它们的限制有助于澄清代码;变量的范围是有限的这一事实可以作为文档的一种形式 字节-8位 2^7 2^6 2^5 2^4 2^3 2^2^1 2^0 128 64 32 16 8 4 2 1) 把所有这些数字加起来,我们总共得到255个。那么如何计算-128到127的范

根据docs.oracle.com:-

字节:字节数据类型是一个8位有符号2的补码整数。它的最小值为-128,最大值为127(含)。字节数据类型对于在大型阵列中节省内存非常有用,而实际上节省内存很重要。它们也可以用来代替int,因为它们的限制有助于澄清代码;变量的范围是有限的这一事实可以作为文档的一种形式

字节-8位
2^7 2^6 2^5 2^4 2^3 2^2^1 2^0

128 64 32 16 8 4 2 1)

把所有这些数字加起来,我们总共得到255个。那么如何计算-128到127的范围呢。它是在某个地方硬编码的还是这个范围有更多的技术性


任何建议都将不胜感激。

这是有符号值作为二进制数的标准表示法的结果。有关完整说明,请参阅


-Rich

这是因为第一位用于符号,因为数据类型是有符号的

请参阅


由于Java中没有无符号的基元类型(如C或C),如果需要“溢出”边界,通常会将其转换为更大的类型。

它是有符号类型,也就是说,它的范围仍然是255(正如您正确计算的那样),但它从-128开始。所以一半的范围在零以下,1个可能的数字是=(零),剩下的127个在0以上

第一位是符号。(1-减,0-加)

数据类型范围 现在我们知道了如何计算整数数据类型的范围。这个逻辑适用于所有整数数据类型

下面给出了所有数据类型的完整详细信息

S.NO数据类型位范围值

1布尔值1–真或假(1或0)

2字节8-128至127。256(2^8)

3短16-32768到32767676536(2^16)

4 int 32-2^31至(2^31)-1 2^32

5长64参见注2^64

6.32参考注释---

7双64参考注释----


8字符16 0到65535 65536(2^16)

最后一位,即我们正在写的数字8,2^7是一个决定负号或正号的符号位,因此它是2^0+2^1+2^2+2^3+2^4+2^5+2^6

位由0和1组成。字节通常由8位组成。因此,可以使用下面给出的通用公式计算值

数据类型的值不能为=
2^n(2次幂n)
,其中n表示位的数量。 因此字节数据类型的值=
2^8(即1字节=8位)
,这里
n=8
字节值=256


并且它应该在零的两边相等(负的一半值,正的一半值)。因此,字节的范围是从-128到127

计算范围的公式是:-2^(n-1)到(2^(n-1)-1)

其中n=基本数据类型的位数。 例如:

对于int数据类型,n是32,简而言之,n是16,以此类推

因此,int范围将是:-2^(32-1)到(2^(32-1)-1)


通过使用相同的字节范围公式,可以计算出short、float和double。

在Java中计算范围的公式 -2(n-1)到+2(n-1)-1
其中n是位数(1字节=8位)

因此,对于字节类型,范围为: -2(8-1)至+2(8-1)-1
或-2(7)至+2(7)-1

或者,-128到+127

让我们计算1字节的范围

  • 1位可以取0或1
  • 1字节=8位
  • 第一位用作符号(-or+)
  • 那么剩下的位是7
  • 所以我们可以为一个符号写2^7=128个不同的数字
  • 我们得到0作为正号。然后我们有128个数字表示负边,127个数字表示正边,0(零)
  • 因此,范围为-128到127,包括0

  • 很好的解释