Swift Float32(Float的别名)和Float64(Double的别名)的用途是什么?

Swift Float32(Float的别名)和Float64(Double的别名)的用途是什么?,swift,floating-point,double,Swift,Floating Point,Double,在Swift中,有3种通用浮点类型: 浮动 双重的 浮动80 但也有两个别名: 浮动32 浮动64 这里有一个代码: /**/ // Float 16-bit Float16.exponentBitCount // 5 Float16.significandBitCount // 10 // Float 32-bit Float.exponentBitCount // 8 Float

在Swift中,有3种通用浮点类型

  • 浮动
  • 双重的
  • 浮动80
但也有两个别名

  • 浮动32
  • 浮动64
这里有一个代码:

/**/

// Float 16-bit 
Float16.exponentBitCount                 //  5
Float16.significandBitCount              //  10

// Float 32-bit
Float.exponentBitCount                   //  8
Float.significandBitCount                //  23

// Alias for Float
Float32.exponentBitCount                 //  8
Float32.significandBitCount              //  23

// Float 64-bit
Double.exponentBitCount                  //  11
Double.significandBitCount               //  52

// Alias for Double
Float64.exponentBitCount                 //  11
Float64.significandBitCount              //  52

// Extended-Precision Float
Float80.exponentBitCount                 //  15
Float80.significandBitCount              //  63

/**/
问题:Swift中有这两个别名的原因是什么


它们是干什么用的?

普通浮点是32位,所以浮点是浮点32的简化版本。
但是ram中Double和Float64的STOEY类型非常不同,您不能仅仅通过它们的指数和有效位来比较它们。

Float64
是Double的类型别名,因此它们是相同的类型。与
Float32
Float
相同

>名称>浮点< /COD>和双(或<代码>浮点和双代码>代码>是旧的名称,用于许多其他语言,包括C、C++、java和C.*。p> [在某些(异国情调的或非常古老的)平台上的某些语言中,它们甚至不是32位和64位。但这对Swift来说并不重要。]


较新的名称,
Float32
Float64
Float80
告诉您类型的确切大小,因此更加清晰,不那么模棱两可。但是对于长期的程序员来说,他们需要一些习惯。我不确定64位平台上是否可以使用Float80。

Clarity和legacy.Related:Double和Float64是一回事(类型别名)。在存储方面没有任何差异。您似乎混淆了Float80(扩展精度)和Double(Float64)(双精度)。