Для чего нужны Float32 (псевдоним Float) и Float64 (псевдоним Double)? - PullRequest
1 голос
/ 10 мая 2019

В Swift есть 3 основных типа с плавающей точкой :

  • Float
  • Double
  • Float80

Но также есть 2 псевдонима :

  • Float32
  • Float64

Вот код:

/**/

// 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?

Для чего они?

Ответы [ 2 ]

1 голос
/ 12 мая 2019

Float64 - псевдоним типа для Double, поэтому они относятся к одному типу.То же самое с Float32 и Float.

Имена Float и Double (или float и double) являются более старыми именами, используемыми во многих других языках, включая C, C ++, Java и C #.

[ В некоторых языках на некоторых (экзотических или очень старых) платформах они даже не 32- и 64-разрядные. Но это не имеет значения для Swift.]

Более новые имена, Float32, Float64 и Float80, сообщают вам точный размер шрифта и поэтому немного яснее и менее двусмысленны.Но долгое время программистам нужно к ним привыкнуть.Я не уверен, что Float80 доступен на 64-битных платформах.

1 голос
/ 11 мая 2019

Normal Float - 32 бита, поэтому Float - это простая версия Float32.Но тип хранения Double и Float64 в оперативной памяти очень отличается, и вы не можете просто сравнить их по показателю степени и значащим битам.

...