首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Swift默认为双浮点数?

为什么Swift默认为双浮点数?
EN

Stack Overflow用户
提问于 2014-06-17 12:52:28
回答 2查看 3.1K关注 0票数 3

Swift语言指南说:

Double表示64位浮点数.当浮点值必须非常大或特别精确时,请使用它. Float表示32位浮点数.当浮点值不需要64位精度时使用它.

但后来:

斯威夫特在推断浮点数类型时总是选择Double (而不是Float) .

这不是有点矛盾吗?对于大多数浮点数字来说,64位的精度不是太高了吗?这是否意味着我应该明确地定义浮点数,或者这种区别在实践中并不重要?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-17 13:00:20

默认为Double可以保证类型推断不会导致浮点精度错误。

在某些情况下,默认使用Float会带来麻烦,所以我认为这是一个保守的选择。

我没有确凿的数字来支持我的说法,但我怀疑这也是有道理的,因为性能上的差异并不是那么重要。

票数 12
EN

Stack Overflow用户

发布于 2014-06-17 13:44:25

为什么可以将浮点数推断为Double

1)许多其他语言如JAVA和Haskell推断浮点为Double

2) Double具有较高的精度,保证了精度的不丢失。他们已经决定保持精度,而不是使用Float时可能出现的性能改进(内存更低)。

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

https://stackoverflow.com/questions/24264360

复制
相关文章

相似问题

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