gpt4 book ai didi

arrays - 如何使用 BigEndian 将 Float 转换为 Data?

转载 作者:行者123 更新时间:2023-11-28 10:49:57 25 4
gpt4 key购买 nike

我有:

Float(bitPattern: UInt32(bigEndian: data.withUnsafeBytes { $0.pointee } ))

这段代码正在将数据转换为 float ,但我想要它的反转,意思是将 float 转换为数据。请指导我如何转换。

最佳答案

首先创建一个 32 位整数,其中的大端表示 float ,然后从整数创建一个 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

关于arrays - 如何使用 BigEndian 将 Float 转换为 Data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46566343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com