2017-10-04 49 views

回答

3

首先創建與 浮點數的大端表示一個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 
+0

感謝MartinR你再一次震撼,有沒有將解釋這種類型的轉換的任何資源? –