繁体   English   中英

Swift中Int和Int32有什么区别?

[英]What is the difference between Int and Int32 in Swift?

Core Data您可以存储Int16Int32Int64但它与Int不同。 它们存在的原因是什么,如何使用它们?

根据Swift文档

整数

在大多数情况下,您无需选择特定大小的整数即可在代码中使用。 Swift提供了另一个整数类型Int,其大小与当前平台的本机字大小相同:

在32位平台上,Int与Int32相同。

在64位平台上,Int与Int64相同。

除非您需要使用特定大小的整数,否则在代码中始终将Int用作整数值。 这有助于代码的一致性和互操作性。 即使在32位平台上,Int也可以存储-2,147,483,648和2,147,483,647之间的任何值,并且对于许多整数范围而言足够大。

“ Int”后的数字是其使用多少位的参考。 当您将int用于确实很短或几乎不必要的事情时(例如,对列表中遵循特定参数的对象的运行计数),我通常使用UInt8,它是一个最大值为256(2 ^ 8),最小值为0,因为它是无符号的(这是UInt8和Int8之间的差)。 如果它是带符号的(或在变量前没有“ U”),则它可以为负。 Int16,Int32和Int64也是如此。 使用较小尺寸的Int类型的好处不是很大,因此,如果您不想使用这些类型,则不需要使用它们。

如果您在具有32位或64位处理器的笔记本电脑或iOS设备上运行,则不会节省性能。 只需使用Int。 使用Int8时,CPU不仅会使用8位,而且无论您使用什么,CPU都将使用其整个位宽,因为硬件已经在芯片中...

现在,如果您具有8位CPU,则使用Int32将要求编译器进行大量的后空翻和魔术操作,以使32位Int正常工作

Swift的Int是包装器,因为它的大小与平台容量相同 (在32位平台上为Int32 ,在64位平台上为Int64 )。

作为程序员,除非确实需要,否则请勿声明依赖于平台的Int(例如Int32,Int64)。 例如,当您在32位平台上使用无法使用4个字节表示的数字时,可以声明Int64而不是Int

  • Int32 :4个字节:从−2147483648到+2147483647
  • Int64 :8个字节:从−9223372036854775808到+9223372036854775807

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM