在Java和.net中,默认的int都是32位。这是否与java和.net出现时,大多数处理器使用的是32位?还是有其他理由选择32作为整数的默认位长度?为什么int 32位?
回答
是的,这主要是因为大多数处理器都是32位。这也显示在Java规范的其他部分。例如,它明确地不保证long
和double
(64位)的读写是原子的,而对于所有其他原始类型它是原子的。
你的答案不清楚为什么32位 - 是int的(通常)大小,与cpu寄存器无关 – kirugan 2013-03-17 21:44:32
它是32位,因为32位处理器最舒适(即高效)的32位值。我不知道还有什么要解释的。 – Cephalopod 2013-03-17 21:49:12
Java基于C和一些C++。
In C char
is 8-bit,short
is 16-bit and a long long
is 64-bit。一个int
可能是16位或32位,但为了简化Java,他们决定在byte
是8位,short
是16位,int
是32位而long
是64位。在Java char
中是16位无符号的。
总之,从C有四种类型和四种尺寸,所以int
结束了32位。
- 1. 32位unsigned int php
- 2. 如何将有符号的32位int转换为无符号的32位int?
- 3. 为什么打算32位寻址
- 4. 16位的int VS 32位的int和64位INT
- 5. 什么是适合32位和64位“32位”的术语
- 6. 为什么依赖walker将32位dll显示为64位?
- 7. 位操作,以获得32位的int
- 8. 为什么__int16和int(32)用C++生成不同的asm?
- 9. 为什么32位等于4Giga字节而不是4吉位
- 10. 为什么64位MSBuild加载32位扩展?
- 11. 为什么32位和64位numpy/pandas之间有区别
- 12. 为什么angular.lowercase方法使用'按位或32'将'A'转换为'a'?为什么不使用'+ 32'?
- 13. 为什么sizeof(string)== 32?
- 14. 在32位为什么地址空间限制为2^31?
- 15. 为什么Windows XP(32位)限制为3GB的可用内存?
- 16. 为什么const int比const int&更快?
- 17. 32位的int由量不在范围
- 18. 在Java中使用Unsigned int 32位?
- 19. 为什么int存在于C中,为什么不只是短和长
- 20. 从32位变为64位
- 21. 用于32位python(3.6)的32位pyodbc适用于Microsoft的64位odbc驱动程序。为什么?
- 22. MD5是128位,但它为什么是32个字符?
- 23. 为什么使用小于32位的整数?
- 24. 为什么32位机器的最大容量是4GB?
- 25. 为什么内存32位只需要1的地图
- 26. 为什么我的Ubuntu 32位可以支持6G RAM?
- 27. 32位指针与x86-64 ISA:为什么不呢?
- 28. 为什么valgrind在64位架构上仅限于32 Gb?
- 29. C++如何将数据存储为32位unsigned int
- 30. 如何在Perl中打包一个int为32位的big endian?
0123我认为即使是现在大多数运行Java代码的处理器都是32位的 - 除非手机上安装有64位CPU ... – thkala 2013-03-17 21:37:01
long或long int用于表示32位... – Makoto 2013-03-17 21:37:35
所有这些语言中都有16位,32位和64位整数......有什么问题? – 2013-03-17 21:37:42