Java 如何或为什么对任何基本数据类型都有限制
在类似java的环境中,从-32768到32767之间,而int的范围从-2147483648到2147483647。这看起来就像早期的设计师创建了一些不同大小的存储桶来存储这个范围值。然后他们会创建一堆不同范围的更多数据类型,但归结起来只有8种具有这些范围的类型。有什么原因吗Java 如何或为什么对任何基本数据类型都有限制,java,type-conversion,primitive-types,Java,Type Conversion,Primitive Types,在类似java的环境中,从-32768到32767之间,而int的范围从-2147483648到2147483647。这看起来就像早期的设计师创建了一些不同大小的存储桶来存储这个范围值。然后他们会创建一堆不同范围的更多数据类型,但归结起来只有8种具有这些范围的类型。有什么原因吗 与其公开一个可以存储一些用户定义的数据集的数据结构(或者说两个1代表数字,另一个代表字符),还可以工作。byte是一个字节,short是两个字节,int是四个字节,long是八个字节。其他数据类型用于存储其他类型的数据。
与其公开一个可以存储一些用户定义的数据集的数据结构(或者说两个1代表数字,另一个代表字符),还可以工作。
byte
是一个字节,short
是两个字节,int
是四个字节,long
是八个字节。其他数据类型用于存储其他类型的数据。您提到的那些数字只是可以分别容纳在1、2、4和8字节内的最大和最小有符号整数。(和1、2、4和8都是2的幂。)因为它们是16位或32位存储类型。这是投诉还是问题?@martijnn2008当然不是投诉,但试图了解设计否决票的原因。如果可以,请帮助我理解,这些限制背后的原因可能是什么。问题是为什么字节是1,短的是两个…字节。它只是命名一个数据大小范围吗?那么为什么数据类型限制为8字节(长)。它应该有更大的数据类型。@LondonDreams a long可以容纳大约+-100000000000000000之间的数字。他们可能认为这还不够。正如我所说,如果您需要更多,请使用BigInteger。