Що означає 0x
префікс на число?
const int shared_segment_size = 0x6400;
Це з програми С. Я не можу згадати, що це означає, і особливо, що x
означає лист .
0x prefix C++
приводить вас сюди зараз :)
Що означає 0x
префікс на число?
const int shared_segment_size = 0x6400;
Це з програми С. Я не можу згадати, що це означає, і особливо, що x
означає лист .
0x prefix C++
приводить вас сюди зараз :)
Відповіді:
Літерали, які починаються з 0x
шістнадцяткових цілих чисел. (база 16)
Число 0x6400
є 25600
.
6 * 16^3 + 4 * 16^2 = 25600
Для прикладу, що включає букви (також використовуються в шістнадцяткових позначеннях, де A = 10, B = 11 ... F = 15)
Число 0x6BF0
є 27632
.
6 * 16^3 + 11 * 16^2 + 15 * 16^1 = 27632
24576 + 2816 + 240 = 27632
0xffffffff
і таке. ( 0xffffffff = -1
для 32-розрядного int, припускаючи доповнення 2)
У мовах C та на основі синтаксису С префікс 0x
означає шістнадцятковий (основа 16).
Таким чином, 0x400 = 4 × (16 2 ) + 0 × (16 1 ) + 0 × (16 0 ) = 4 × ((2 4 ) 2 ) = 2 2 × 2 8 = 2 10 = 1024, або один двійковий К .
І так 0x6400 = 0x4000 + 0x2400 = 0x19 × 0x400 = 25K
Числа, що починаються з 0x
шістнадцяткової (основа 16). 0x6400
представляє 25600
.
Щоб конвертувати,
Коефіцієнти 1, 16, 256 тощо - це зростаючі сили 16.
0x6400 = (0*1) + (0*16^1) + (4*16^2) + (6*16^3) = 25600
або
0x6400 = (0*1) + (0*16) + (4*256) + (6*4096) = 25600
ПРОСТО
Це префікс, щоб вказати, що число знаходиться в шістнадцятковій, а не в якійсь іншій базі. Мова програмування C використовує його для повідомлення компілятора.
Приклад:
0x6400
Перекладається 6*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600.
Коли читач компілюється 0x6400
, Він розуміє, що число є шістнадцятковим за допомогою 0x терміна. Зазвичай ми можемо зрозуміти по(6400)16 or (6400)8
будь-якій базі.
Надія якось допомагала.
Хороший день,