0
Float(bitPattern: UInt32(bigEndian: data.withUnsafeBytes { $0.pointee }))
该代码转换的数据到浮动,但我想它反向,意味着浮到数据。请指导我如何转换。
Float(bitPattern: UInt32(bigEndian: data.withUnsafeBytes { $0.pointee }))
该代码转换的数据到浮动,但我想它反向,意味着浮到数据。请指导我如何转换。
首先创建与 浮点数的大端表示一个32位的整数,则创建一个从整数 一个Data
值(如在round trip Swift number types to/from Data证实为例):
let value = Float(42.13)
var u32be = value.bitPattern.bigEndian
let data = Data(buffer: UnsafeBufferPointer(start: &u32be, count: 1))
print(data as NSData) // <4228851f>
验证结果通过将其转换回一个Float
:
let v = Float(bitPattern: UInt32(bigEndian: data.withUnsafeBytes { $0.pointee }))
print(v) // 42.13
感谢MartinR你再一次震撼,有没有将解释这种类型的转换的任何资源? –