首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >int、Int16、Int32和Int64有什么区别?

int、Int16、Int32和Int64有什么区别?
EN

Stack Overflow用户
提问于 2012-03-14 13:55:29
回答 11查看 574.2K关注 0票数 265

除了大小之外,intSystem.Int16System.Int32System.Int64之间还有什么区别?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2012-03-14 14:08:00

每种类型的整数具有不同的存储容量范围

代码语言:javascript
复制
   Type      Capacity

   Int16 -- (-32,768 to +32,767)

   Int32 -- (-2,147,483,648 to +2,147,483,647)

   Int64 -- (-9,223,372,036,854,775,808 to +9,223,372,036,854,775,807)

正如James Sutherland在his answer中所说的

intInt32确实是同义词;int看起来会更熟悉一些,Int32使32位对于那些阅读您的代码的人更加明确。我倾向于在我只需要“一个整数”的地方使用int,在大小很重要的地方使用Int32 (密码代码,结构),这样将来的维护者就会知道如果合适的话,扩大int是安全的,但也应该注意以同样的方式改变Int32变量。

生成的代码将是相同的:区别完全在于可读性或代码外观。

票数 399
EN

Stack Overflow用户

发布于 2012-03-14 13:58:17

这里唯一真正的区别是大小。这里的所有int类型都是具有不同大小的有符号整数值

  • Int16:2 bytes
  • Int32和bytes
  • Int64:4 int:8字节

Int64和其他语言之间有一个小的区别。在32位平台上,对Int64存储位置的分配不能保证是原子的。对于所有其他类型都是有保证的。

票数 127
EN

Stack Overflow用户

发布于 2014-06-06 13:20:50

int

它是在C#中定义的原始数据类型。

它被映射到FCL类型的Int32。

它是一个值类型,表示System.Int32结构。

它是带符号的,需要32位。

它的最小值为-2147483648,最大值为+2147483647。

Int16

它是FCL类型。

在C#中,short映射到Int16。

它是一个值类型,表示System.Int16结构。

它是带符号的,需要16位。

它的最小值为-32768,最大值为+32767。

Int32

它是FCL类型。

在C#中,int被映射到Int32。

它是一个值类型,表示System.Int32结构。

它是带符号的,需要32位。

它的最小值为-2147483648,最大值为+2147483647。

Int64

它是FCL类型。

在C#中,long被映射到Int64。

它是一个值类型,表示System.Int64结构。

它是带符号的,需要64位。

它的最小值为-9,223,372,036,854,775,808,最大值为9,223,372,036,854,775,807。

票数 74
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9696660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档