Hy everyone、スイフト3:負のIntから16進数
Intを16進数に変換する必要があります。 例:-40 => D8
私は正の(または符号なしの)Intのための作業方法を持っていますが、ネガティブで期待どおりに機能しません。ここに私のコードです。
class func encodeHex(data:[Int]) -> String {
let hexadecimal = data.reduce("") { (string , element) in
var append = String(element, radix:16 , uppercase : false)
if append.characters.count == 1 {
append = "0" + append
}
return string + append
}
return hexadecimal
}
私が-40に合格すると、-28が得られます。
誰でも手助けできますか?ありがとう:)
が必要です。これは完璧です、ありがとうございます!そして、あなたはどうやって逆に変換しますか? –
@LucasAdam: 'let num = Int8(bitPattern:UInt8(" D8 "、基数:16)!)' –