objective-c - 在 C 和 Objective-C 中,我们应该使用 0.5f 还是 0.5?

标签 objective-c c floating-point

我看到作者使用了很多地方:

sprite.anchorPoint = CGPointMake(1, 0.5f);

也就是说,为什么不使用 0.5 而不是 0.5f -- 使用 0.5f 有优势吗?

最佳答案

0.5 是一个 double 常量,而 0.5f 是一个 float 常量。

is there advantage of using 0.5f?

是的。您要么想要为计算指定类型(阅读:精度),要么避免隐式缩小(和相关的编译器警告)。

除了避免编译器警告或只是对参数类型非常严格外,您提供的示例并不引人注目。

然而,不太明显的 double 提升可能代价高昂。

要回答“我们应该使用 0.5f 还是 0.5”:因为每个都有适当的时间,所以您应该在程序中使用两者。您应该使用适合您需要的计算/精度的类型、您传递的参数的类型,或者适合表达式中其他值的类型。这就像整数一样——有适当的时间来考虑宽度,也有适当的时间来考虑后缀(例如 UL)。有时区分很重要,有时(自然地)不重要。

关于objective-c - 在 C 和 Objective-C 中,我们应该使用 0.5f 还是 0.5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10477463/

相关文章:

c - 如何重新分配内部和外部数组

c - 浮点计算C错误结果

c - 在队列哈希表中插入错误作为链表?

perl - Perl 中最小的非零正 float 是多少?

php strip 前导零和 0 个十进制值

algorithm - 卡汉求和

ios - 如何使用相机谷歌地图 xcode 移动标记(图钉)

objective-c - UICollectionView 断言失败

ios - 合成的 NSMutableArray 返回 null

iphone - NSDate、NTP 和载波时间