Как я могу преобразовать переменную из шестнадцатеричной в десятичную в С++?

Я хочу преобразовать переменную из шестнадцатеричной в десятичную. Я знаю решение с "cout", но я не хочу отображать переменную. Как я могу это сделать?

int checksum = 98 (HEX value)

person CorentinMerit    schedule 13.10.2017    source источник
comment
@ rak007 вопрос от шестнадцатеричной до десятичной.   -  person Paul Floyd    schedule 13.10.2017
comment
@PaulFloyd Ты вообще читал ответ?   -  person rak007    schedule 13.10.2017


Ответы (2)


Если вы имеете в виду, что 98 — это шестнадцатеричное число, и вы пишете его в исходном коде:

int checksum=0x98; // checksum is going to be 152
person tevemadar    schedule 13.10.2017

Литерал 98 не является шестнадцатеричным литералом, это десятичный литерал, представляющий целочисленное значение 98. Если вы добавляете к нему шестнадцатеричный префикс 0x, то литерал представляет десятичное значение 152:

int checksum = 0x98; // which is 152 in base 10 number system

Значения – это значения, представленные десятичными, шестнадцатеричными, восьмеричными или даже двоичными литералами. . В конечном итоге это все байты в памяти. Значение остается прежним и имеет тип int. Можно манипулировать только представлением этого значения, будь то с помощью потоковых манипуляторов или литералов. Выдержка из шестнадцатеричной буквальной ссылки:

шестнадцатеричный литерал — это последовательность символов 0x или последовательность символов 0X, за которой следует одна или несколько шестнадцатеричных цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, A, b, B, c). , В, г, Г, д, Д, е, Е)

person Ron    schedule 13.10.2017