Я хочу преобразовать переменную из шестнадцатеричной в десятичную. Я знаю решение с "cout", но я не хочу отображать переменную. Как я могу это сделать?
int checksum = 98 (HEX value)
Я хочу преобразовать переменную из шестнадцатеричной в десятичную. Я знаю решение с "cout", но я не хочу отображать переменную. Как я могу это сделать?
int checksum = 98 (HEX value)
Если вы имеете в виду, что 98 — это шестнадцатеричное число, и вы пишете его в исходном коде:
int checksum=0x98; // checksum is going to be 152
Литерал 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). , В, г, Г, д, Д, е, Е)