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你再一次震撼,有沒有將解釋這種類型的轉換的任何資源? –