我刚刚听说过int的大小取决于机器。我一直认为int的大小是32位。有人可以解释这个难题吗?
答案 0 :(得分:15)
在C#中,int
类型始终为Int32
,并且始终为32位。
其他一些语言有不同的规则,int
可能与机器有关。在某些语言中,int
被定义为具有最小大小,但机器/实现特定大小至少是那么大。例如,在C ++中,int数据类型不一定是32位。来自fundimental data types:
一般规范是int具有系统体系结构建议的自然大小(一个“字”),四个整数类型char,short,int和long必须至少与前一个一样大, char总是一个字节大小。
但是,.NET对此进行了标准化,因此类型实际上指定为Int32
,Int64
等。在C#中,int
是System.Int32
的别名,并且将始终是32位。这由C#语言规范中的4.1.5 Integral Types
部分保证,其中指出:
int类型表示带符号的32位整数,其值介于-2147483648和2147483647之间。
答案 1 :(得分:2)
MSDN表示int
是32位。这个人可能在谈论C ++吗?
C++
size of integral types in bytes is unspecified by the standard
答案 2 :(得分:2)
int
类型表示带符号的32位整数,其值介于 -2147483648和2147483647。
答案 3 :(得分:1)
int
是System.Int32
的别名。您还可以使用System.Int16
,System.Int64
和BigInteger
。