Menu
CoddyTech

Почему шестнадцатеричная система?

Часть раздела Основы путешествия по Assembly на Coddy. Урок 10 из 45.

Теперь ты знаешь, что компьютеры используют двоичную систему счисления. Так почему же программисты на ассемблере редко записывают двоичный код напрямую?

Проблема двоичной системы счисления:

Двоичные числа очень длинные. Посмотрите на этот пример:

ЧислоДвоичная система
25511111111
10001111101000
655351111111111111111

Записывать длинные строки из единиц и нулей медленно, легко допустить ошибку, и их трудно читать.

Решение: шестнадцатеричная система счисления (основание 16).

В шестнадцатеричной системе счисления (или «hex») используется 16 символов:

ЦифраЗначение
0-9от 0 до 9
A10
B11
C12
D13
E14
F15

Почему шестнадцатеричная система идеально подходит для компьютеров:

Одна шестнадцатеричная цифра представляет ровно 4 бита (половину байта).

БитыНеобходимое количество шестнадцатеричных цифр
4 бита (ниббл)1 шестнадцатеричная цифра
8 бит (1 байт)2 шестнадцатеричные цифры
16 бит (2 байта)4 шестнадцатеричные цифры
32 бита (4 байта)8 шестнадцатеричных цифр
64 бита (8 байт)16 шестнадцатеричных цифр

Одно и то же число тремя способами:

Десятичная системаДвоичная системаШестнадцатеричная система
25511111111FF
100011111010003E8
655351111111111111111FFFF

Обратите внимание, насколько шестнадцатеричная система короче двоичной.

Где вы увидите шестнадцатеричную систему счисления в ассемблере:

  • Адреса памяти (например, 0x7FFF или 0x402000)
  • Коды ASCII (например, 0x41 для «A», 0x0a для новой строки)
  • Значения регистров в отладчиках
  • Значения цветов (например, 0xFF0000 для красного)

Шестнадцатеричные числа записываются с префиксом:

ПрефиксПримерЗначение
0x0xFFFF в шестнадцатеричной системе (255 в десятичной)
$$FFТо же самое (используется в некоторых ассемблерах)
hFFhТо же самое (устаревший стиль)

В этом курсе мы используем префикс 0x: 0x0a, 0x41, 0xFF.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Assembly

Проверьте перевод: Конвертер систем счисления