От шести до десятичных - быстро

Извините, если это кажется очень простым, я просто не могу найти его нигде в Интернете.

У меня есть UInt8 в шестнадцатеричном формате, мне нужно получить его до десятичной. Как быстро достичь этого?

Например:

"и далее"

Спасибо

Ответ 1

Если у вас есть строковое представление, "ff", вы можете использовать UInt8(_:radix:):

let string = "ff"
if let value = UInt8(string, radix: 16) {
    print(value)
}

Ответ 2

вы можете использовать функцию strtoul для преобразования шестнадцатеричного значения в десятичное:

let result = UInt8(strtoul("ff", nil, 16))  // 255

Ответ 3

Попробуйте этот код, он работает для меня.

//Hex to decimal

let h2 = "ff"
let d4 = Int(h2, radix: 16)!
print(d4) 

Надеюсь, что это поможет кому-то

Ответ 4

Если ваше значение HEX не является строкой, а просто конвертирует время компиляции, вы также можете использовать:

let integer : UInt8 = 0xff

Таким образом, префикс с 0x будет выполнять эту работу.