Ich bin auf der Suche nach einem direkten Weg, um die Bit-Werte eines Int in UInt und umgekehrt umzuwandeln. Zum Beispiel (unter Verwendung der 8-Bit-Integer der Einfachheit halber) ich folgendes erreichen will:Int zu UInt (und umgekehrt) Bit Casting in Swift
let unsigned: UInt8 = toUInt8(-1) // unsigned is 255 or 0xff
let signed: Int8 = toInt8(0xff) // signed is -1
Zuerst habe ich kam mit folgender Lösung:
let unsigned = unsafeBitCast(Int8(-1), UInt8.self)
let signed = unsafeBitCast(UInt8(0xff), Int8.self)
Aber Apple in der „unsafeBitCast() "Dokumentation besagt Folgendes:
.. Vorsicht :: Bricht die Garantien von Swift Typ System; Verwenden Sie mit extreme Vorsicht. Es gibt fast immer einen besseren Weg, etwas zu tun.
Hat jemand den besseren Weg?
Ähnliche Frage hier: [Konvertieren von signed in unsigned in Swift] (http://stackoverflow.com/questions/25666846/converting-signed-to-unsigned-in-swift). –
@Martin ja, du hast recht. Ich schwöre, ich habe sowohl in Google als auch in Stackoveflow nach diesem gesucht, es erschien nie. –