Sto cercando un modo robusto ed elegante per estrarre quattro byte big-endian da un array come Float.Swift: estrae il float dai dati di byte
posso ottenere un UInt32 con i bit tramite qualcosa di simile:
let data: [Byte] = [0x00, 0x00, 0x00, 0x40, 0x86, 0x66, 0x66, 0x00]
let dataPtr = UnsafePointer<Byte>(data)
let byteOffset = 3
let bits = UnsafePointer<UInt32>(dataPtr + byteOffset)[0].bigEndian
ma non riesco a capire un buon modo per convertire questo in un galleggiante a Swift.
Ad esempio, in Java:
float f = Float.intBitsToFloat(bits)
o in C:
float f = *(float *)&bits;
Ho provato colata del DataPtr ad un galleggiante UnsafePointer, ma poi l'endianness è un problema.
Qualche suggerimento?
Questo è meglio ... –
Sì, ancora più chiaro. Grazie! – NickHowes