在Swift(iOS应用程序)中,何时需要使用其他整数类型?

Joe*_*ang 8 swift

我看到Swift中有许多整数类型Int,例如:

Int8
UInt32
uint_fast16_t
Run Code Online (Sandbox Code Playgroud)

我可以理解他们的定义,但我想知道何时/为什么我应该使用它们而不是Int?

例如,Int8是一个8位整数.根据我的理解,除非我想节省一些内存,为什么还要费心呢?

PS.我正在使用Swift进行iOS应用程序开发.

tim*_*mbo 4

就像 Swift 还具有其他方面(例如指针)一样,这些其他数字类型也有特定的用途。其中一些目的是:

  • 与 C 库集成。C 库可能需要特定的 C 类型,这些类型允许您将数据传递到库或从库传递数据

  • 非常大的科学数据集。Float(32 位单精度浮点)允许您将内存中的两倍元素保留在与 Double 相同的空间中,但会牺牲一些精度。来自卫星传感器、天文数据集等的多日全球环境数据集具有巨大的空间需求。

  • 半精度浮点需要Float一半的存储和带宽,并且适用于某些图形应用程序

  • 使用 Accelerate 库进行矢量处理。加速函数适用于各种数字类型,32 位单精度精度对于您希望完成的任务来说可能是可以接受的。