Java 如何计算基本数据类型的范围?
根据docs.oracle.com:- 字节:字节数据类型是一个8位有符号2的补码整数。它的最小值为-128,最大值为127(含)。字节数据类型对于在大型阵列中节省内存非常有用,而实际上节省内存很重要。它们也可以用来代替int,因为它们的限制有助于澄清代码;变量的范围是有限的这一事实可以作为文档的一种形式 字节-8位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的范
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字节的范围
很好的解释