我刚刚听说 int 的大小取决于机器。我一直认为int的大小是32位。有人可以解释这个难题吗?
4 回答
在 C# 中,int
类型始终为Int32
,并且始终为 32 位。
其他一些语言有不同的规则,并且int
可能依赖于机器。在某些语言中,int
被定义为具有最小尺寸,但机器/实现特定尺寸至少那么大。例如,在 C++ 中,int 数据类型不一定是 32 位。从基本数据类型:
一般规范是 int 具有系统架构建议的自然大小(一个“单词”),并且四种整数类型 char、short、int 和 long 必须至少与其前一个一样大,其中 char 为总是一个字节的大小。
但是,.NET 对此进行了标准化,因此类型实际上指定为Int32
,Int64
等。在 C# 中,int
是 的别名System.Int32
,并且始终为 32 位。C# 语言规范中的部分保证了这一点4.1.5 Integral Types
,该部分规定:
int 类型表示带符号的 32 位整数,其值介于 –2147483648 和 2147483647 之间。
MSDN声明int
是 32 位。这个人可能是在谈论 C++ 吗?
标准未指定以C++
字节为单位的整数类型的大小
来自C# 语言规范:
该
int
类型表示带符号的 32 位整数,其值介于 –2147483648 和 2147483647 之间。
int
是 的别名System.Int32
。您也可以使用System.Int16
,System.Int64
和BigInteger
。