如何使用 BigEndian 将 Float 转换为 Data?
How to convert Float to Data with BigEndian?
我有:
Float(bitPattern: UInt32(bigEndian: data.withUnsafeBytes { [=10=].pointee } ))
这段代码正在将数据转换为浮点数,但我想要它的反转,意思是将浮点数转换为数据。请指导我如何转换。
首先用
浮点数,然后从整数创建一个 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 { [=11=].pointee } ))
print(v) // 42.13
我有:
Float(bitPattern: UInt32(bigEndian: data.withUnsafeBytes { [=10=].pointee } ))
这段代码正在将数据转换为浮点数,但我想要它的反转,意思是将浮点数转换为数据。请指导我如何转换。
首先用
浮点数,然后从整数创建一个 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 { [=11=].pointee } ))
print(v) // 42.13