首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Float32 (浮点数的别名)和Float64 (双重别名)的目的是什么?

Float32 (浮点数的别名)和Float64 (双重别名)的目的是什么?
EN

Stack Overflow用户
提问于 2019-05-10 13:26:35
回答 2查看 1.4K关注 0票数 2

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

  • 浮动
  • 双倍
  • Float80

,但也有两个别名

  • Float32
  • Float64

下面是一个代码:

代码语言:javascript
复制
/**/

// 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中使用这两个别名的原因是什么?

它们是干什么用的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-12 02:23:48

Float64Double的类型别名,所以它们是相同的类型。Float32Float也是如此。

名称FloatDouble (或floatdouble)是较旧的名称,用于许多其他语言,包括C、C++、Java和C#。

在一些语言(异国情调或非常古老的)平台上,他们甚至不是32位和64位。但这对斯威夫特来说并不重要。

较新的名称Float32Float64Float80告诉您该类型的确切大小,因此更加清晰和不那么含糊。但在很长一段时间里,程序员需要一些习惯。我不确定Float80是否在64位平台上可用。

票数 3
EN

Stack Overflow用户

发布于 2019-05-11 19:45:31

普通的浮点数是32位,所以浮点数是Float32的简单版本。但是,ram中的Double和Float64的炉子类型是非常不同的,你不能仅仅用它们的指数和重要位来比较它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56078703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档