据我所知,32位和2位的两个整数之间存在差异. 64位如下:
32位范围-2,147,483,648至2,647
64位范围:-9,223,372,036,854,775,808至9,807
32位范围-2,147,483,648至2,647
64位范围:-9,223,372,036,854,775,808至9,807
我使用64位jdk,我通过打印以下内容验证它:
System.out.println(“JVM位大小:”System.getProperty(“sun.arch.data.model”));
JVM Bit size: 64
当我尝试初始化一个数字大于10个字母的新Integer变量时,我得到一个编译错误.这是为什么?它看起来像64位更大
示例(在netbeans上运行):
int x = 12345678910; =>错误:整数太大
解决方法
Java中int的大小完全独立于JDK的32位或64位.它总是4个字节= 32位= -2,648到2,647.
如果需要64位整数,请使用long,即64位= 8字节.