繁体   English   中英

为什么 Swift 报告 CGFloat.pi.significand 正好是 pi/2?

[英]Why does Swift report CGFloat.pi.significand to be exactly pi/2?

运行 Xcode 11.3

为什么 pi 的重要组成部分等于 pi/2?

print(CGFloat.pi.significand == CGFloat.pi/2).   // true

我希望显着等于尾数。我错过了什么吗?

我们如下声明significand

let magnitude = x.significand * F.radix ** x.exponent

我假设pi = 3.14

所以pi = 1.57 * 2 1其中1.57significand数字。

如果我们将两边除以 2,您将得到pi/2 = 1.57

换句话说pi/2 = pi.significand (这是一种特殊情况)。

根据苹果文档

有效位通常也称为尾数,但有效位是 IEEE 754 规范中的首选术语,以减少尾数用于对数的小数部分的混淆。

更新

正如@Ptit 所述,2 到 4 之间的所有数字都满足参数number/2 = number.significand

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM