初始化器
init(sign:
init(sign:exponent:significand:)
从给定的符号、指数和有效数创建一个新值。
声明
init(
sign: FloatingPointSign,
exponent: Int,
significand: Float
)
参数
sign
用于新值的符号。
exponent
新值的指数。
significand
新值的有效数字。
详述
以下示例使用此初始化程序创建一个新的 Double
实例。 Double
是一种二进制浮点类型,其基数为 2
。
let x = Double(sign: .plus, exponent: -2, significand: 1.5)
// x == 0.375
此初始化程序等效于以下计算,其中 **
是求幂,就像通过单个正确舍入的浮点运算一样计算:
let sign: FloatingPointSign = .plus
let exponent = -2
let significand = 1.5
let y = (sign == .minus ? -1 : 1) * significand * Double.radix ** exponent
// y == 0.375
与任何基本操作一样,如果此值超出类型的可表示范围,则会发生上溢或下溢,并可能导致零、次正常值或无穷大。此外,还有另外两种极端情况:
-
如果您传递给
significand
的值为零或无限,则无论exponent
的值如何,结果都是零或无限。 -
如果传递给
significand
的值为 NaN,则结果为 NaN。
对于 F
类型的任何浮点值 x
,以下结果等于 x
,区别在于如果 x
采用非规范编码,则结果是规范化的:
let x0 = F(sign: x.sign, exponent: x.exponent, significand: x.significand)
此初始化程序实现由 IEEE 754 specification 定义的 scaleB
操作。
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相关用法
- Swift Float init(signOf:magnitudeOf:)用法及代码示例
- Swift Float init(integerLiteral:)用法及代码示例
- Swift Float init(_:)用法及代码示例
- Swift Float init(floatLiteral:)用法及代码示例
- Swift Float init(exactly:)用法及代码示例
- Swift Float init(nan:signaling:)用法及代码示例
- Swift Float infinity用法及代码示例
- Swift Float isEqual(to:)用法及代码示例
- Swift Float isTotallyOrdered(belowOrEqualTo:)用法及代码示例
- Swift Float isZero用法及代码示例
- Swift Float isNaN用法及代码示例
- Swift Float -(_:)用法及代码示例
- Swift Float ...(_:_:)用法及代码示例
- Swift Float ..<(_:)用法及代码示例
- Swift Float rounded(_:)用法及代码示例
- Swift Float +(_:_:)用法及代码示例
- Swift Float formTruncatingRemainder(dividingBy:)用法及代码示例
- Swift Float /(_:_:)用法及代码示例
- Swift Float exponent用法及代码示例
- Swift Float minimum(_:_:)用法及代码示例
- Swift Float radix用法及代码示例
- Swift Float remainder(dividingBy:)用法及代码示例
- Swift Float maximum(_:_:)用法及代码示例
- Swift Float magnitude用法及代码示例
- Swift Float negate()用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Float init(sign:exponent:significand:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。