Десятичное число Objective C для Базирования 16 Шестнадцатеричных преобразований

У кого-либо есть фрагмент кода или класс, который возьмет длинное длинное и превратит его в 16-байтовую Шестнадцатеричную строку?

Я надеюсь поворачивать данные как это

long long decimalRepresentation = 1719886131591410351;

и превратите его в это

//Base 16 Hex Output: 17DE435307A07300

%x оператор не хочет работать на меня

NSLog(@"Hex: %x",decimalRepresentation);
//console : "Hex: 7a072af"

Поскольку Вы видите, что это даже не близко. Любая справка действительно ценится!

5
задан Justin 15 May 2010 в 16:27
поделиться

1 ответ

% x печатает целое число без знака в шестнадцатеричном представлении и sizeof (long long)! = Sizeof (unsigned) . См., Например, «Размер и выравнивание типа данных» в 64-битном руководстве по переходу.

Используйте спецификатор ll (это две строчные буквы L ), чтобы получить желаемый результат:

NSLog(@"%llx", myLongLong); 
10
ответ дан 13 December 2019 в 22:03
поделиться