【发布时间】:2015-09-10 05:37:42
【问题描述】:
int 的大小在 c 中是 2 字节,在 c# 中是 4。为什么会这样?。为什么不像 c 那样 2 字节。我也在网上搜索过,但我没有找到任何东西。我正在寻找真正的技术原因。
【问题讨论】:
int 的大小在 c 中是 2 字节,在 c# 中是 4。为什么会这样?。为什么不像 c 那样 2 字节。我也在网上搜索过,但我没有找到任何东西。我正在寻找真正的技术原因。
【问题讨论】:
这是不正确的。 C 中 int 的大小可以是 2、4 或 8 个字节,具体取决于您将程序编译为 16 位、32 位还是 ILP64,但现在几乎总是 32 位。
32 位整数类型通常具有最短和最简单的名称,因为当今大多数计算机在处理 32 位数据时运行效率最高。 64 位机器运行 32 位代码的速度比 32 位机器处理 64 位数字的速度要快得多。虽然int 可能(有时是)在 64 位机器上定义为 64 位,但在编译在 32 位机器上编写和测试的代码时,这可能会引入许多细微的错误。
如果您想使用精确的位数,两种语言都有一些类型可以让您指定精确的宽度。
【讨论】:
在 C# 中,int 表示 Int32,即 int 是 Int32 的别名。因此 int 始终是 32 位,相当于 4 个字节。并使其兼容32位和64位平台。如果你写 Int64 那么它是 8 个字节。
你可以参考这个 MSDN:What is the size of int in c#
【讨论】: