Что означают числа, использующие 0x нотацию?



Что означает префикс 0x на числе?



const int shared_segment_size = 0x6400;


Это из программы на языке Си, написанной на linux. Я не могу вспомнить, что это означает и, в частности, что означает буква x.

15214   5  

5 ответов:

Литералы, начинающиеся с 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

В языке Си и языках, основанных на синтаксисе Си, префикс 0x означает шестнадцатеричный (основание 16).

Таким образом, 0x400 = 4×(162) + 0×(161) + 0×(160) = 4×((24)2) = 22 × 28 = 210 = 1024, или один двоичный K.

И так 0x6400 = 0x4000 + 0x2400 = 0x19×0x400 = 25K

Ура & ХТ.,

Это шестнадцатеричное число.

0x6400 переводится в 4*16^2 + 6*16^3 = 25600

Простой

Это префикс, указывающий, что число находится в шестнадцатеричном, а не в каком-то другом основании. Язык программирования Си использует его, чтобы сообщить компилятору.

Пример:

0x6400 переводится в 6*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600., когда компилятор читает 0x6400, он понимает, что число является шестнадцатеричным с помощью термина 0x. Обычно мы можем понять по (6400)16 or (6400)8 или любой базе ..

Надежда в какой-то мере помогла.

Добрый день,

Числа, начинающиеся с 0x, являются шестнадцатеричными (основание 16).0x6400 представляет 25600.

Для преобразования,

  • умножьте последнюю цифру на 1
  • добавить предпоследнюю цифру, умноженную на 16 (16^1)
  • добавить третью последнюю цифру, умноженную на 256 (16^2)
  • добавить последнюю четвертую цифру, умноженную на 4096 (16^3)
  • ...и так далее

Факторы 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 

Comments

    Ничего не найдено.