在Core Data中,可以存储Int16、Int32、Int64,但与Int不同。它们存在的原因是什么?如何使用它们?
Core Data
Int16
Int32
Int64
Int
bhmjp9jg1#
根据Swift文档
在大多数情况下,你不需要选择一个特定大小的整数,Swift提供了一个额外的整数类型Int,它的大小与当前平台的原生字长相同:
在32位平台上,Int与Int 32大小相同。在64位平台上,Int与Int 64大小相同。
除非需要使用特定大小的整数,否则请始终在代码中对整数值使用Int。这有助于代码的一致性和互操作性。即使在32位平台上,Int也可以存储-2,147,483,648到2,147,483,647之间的任何值,并且对于许多整数范围来说都足够大。
vfhzx4xs2#
Swift's Int是 Package 器,因为它具有与平台容量相同的大小(32位平台上的Int32和64位平台上的Int64)。作为一个程序员,除非你真的需要,否则你不应该声明一个依赖于平台的整数(例如Int 32,Int 64)。例如,当你在32位平台上工作时,你可以声明Int64而不是Int。
lmvvr0a83#
Int”后面的数字表示它使用了多少位,当你使用int来表示一些很短或者几乎不必要的东西时,比如一个列表中跟随一个特定参数的对象的运行计数,我通常使用UInt8,它是一个最大值为256的整数(2^8),最小值为0,因为它是无符号的(这是UInt8和Int8之间的差异)。如果它是有符号的,(或者变量前面没有“U”),那么它可以是负的。Int16,Int32,和Int64。使用更小的Int类型的好处不是很大,所以如果你不想的话,你真的不需要使用这些类型。
hivapdat4#
如果你运行的是32位或64位处理器的笔记本电脑或iOS设备,性能不会有任何节省。只要使用Int8,CPU不会只使用8位,无论你使用什么,CPU都会使用它的整个位宽,因为硬件已经在芯片中了...现在,如果您有一个8位CPU,那么使用Int32将需要编译器执行一系列的后翻操作和魔术来使32位Int工作
4条答案
按热度按时间bhmjp9jg1#
根据Swift文档
整数
在大多数情况下,你不需要选择一个特定大小的整数,Swift提供了一个额外的整数类型Int,它的大小与当前平台的原生字长相同:
在32位平台上,Int与Int 32大小相同。
在64位平台上,Int与Int 64大小相同。
除非需要使用特定大小的整数,否则请始终在代码中对整数值使用Int。这有助于代码的一致性和互操作性。即使在32位平台上,Int也可以存储-2,147,483,648到2,147,483,647之间的任何值,并且对于许多整数范围来说都足够大。
vfhzx4xs2#
Swift's
Int
是 Package 器,因为它具有与平台容量相同的大小(32位平台上的Int32
和64位平台上的Int64
)。作为一个程序员,除非你真的需要,否则你不应该声明一个依赖于平台的整数(例如Int 32,Int 64)。例如,当你在32位平台上工作时,你可以声明
Int64
而不是Int
。Int32
:4个字节:从-2147483648到+2147483647Int64
:8个字节:从-9223372036854775808到+9223372036854775807lmvvr0a83#
Int”后面的数字表示它使用了多少位,当你使用int来表示一些很短或者几乎不必要的东西时,比如一个列表中跟随一个特定参数的对象的运行计数,我通常使用UInt8,它是一个最大值为256的整数(2^8),最小值为0,因为它是无符号的(这是UInt8和Int8之间的差异)。如果它是有符号的,(或者变量前面没有“U”),那么它可以是负的。Int16,Int32,和Int64。使用更小的Int类型的好处不是很大,所以如果你不想的话,你真的不需要使用这些类型。
hivapdat4#
如果你运行的是32位或64位处理器的笔记本电脑或iOS设备,性能不会有任何节省。只要使用Int8,CPU不会只使用8位,无论你使用什么,CPU都会使用它的整个位宽,因为硬件已经在芯片中了...
现在,如果您有一个8位CPU,那么使用Int32将需要编译器执行一系列的后翻操作和魔术来使32位Int工作