Системы счисления. Перевод чисел из одной системы счисления в другую

Что такое система счисления?

Система счисления — знаковая система, в которой числа записываются по определенным правилам с помощью знаков фиксированного алфавита (цифр).

Два основных класса систем счисления:

Развернутая форма записи числа

Любое число $A$ в позиционной системе с основанием $q$ представимо в виде степенного многочлена:

Aq = an-1 · qn-1 + ... + a1 · q1 + a0 · q0 + a-1 · q-1 + ...

Пример в десятичной системе (q=10):

37510 = 3·102 + 7·101 + 5·100
= 300 + 70 + 5

Пример в двоичной системе (q=2):

1012 = 1·22 + 0·21 + 1·20
= 4 + 0 + 1 = 510

Основные системы счисления в ЭВМ

Аппаратные причины выбора двоичной системы

Компьютер не мыслит абстрактными цифрами — он переключает микроскопические полупроводниковые транзисторы.
  1. Помехоустойчивость: надежно отличить два физических состояния (0 В и +3.3 В) при тепловых шумах и деградации схемы несравнимо проще, чем десять уровней.
  2. Простота схемной реализации: базовые логические вентили (И, ИЛИ, НЕ) состоят всего из нескольких транзисторов.
  3. Синхронизация с логикой: истинность и ложь булевой алгебры идеально ложатся на биты 1 и 0.

Перевод в десятичную систему: Сворачивание

Алгоритм:

  1. Пронумеровать разряды числа целой части справа налево от $0$ до $n-1$.
  2. Умножить каждую цифру на основание $q$ в степени номера разряда.
  3. Сложить полученные произведения по правилам десятичной арифметики.
110102 = 1·24 + 1·23 + 0·22 + 1·21 + 0·20
= 16 + 8 + 0 + 2 + 0 = 2610

Перевод из шестнадцатеричной системы в DEC

Особое внимание буквенным эквивалентам: A=10, B=11, C=12, D=13, E=14, F=15.

Пример перевода числа 3B16 в десятичную систему:
Разряды: 1 (для цифры 3), 0 (для цифры B)
3B16 = 3·161 + 11·160
= 48 + 11 = 5910

Вес разрядов шестнадцатеричной системы растет стремительно: $16^0 = 1$, $16^1 = 16$, $16^2 = 256$, $16^3 = 4096$.

Перевод DEC → BIN: Метод деления на 2

Последовательно делим целое число на 2 нацело, фиксируя остатки, пока частное не станет равным нулю.

Пример: перевод 2510 в двоичную систему:
25 / 2 = 12 (остаток 1) ↑ младший бит
12 / 2 = 6 (остаток 0) |
6 / 2 = 3 (остаток 0) |
3 / 2 = 1 (остаток 1) |
1 / 2 = 0 (остаток 1) | старший бит
Запись остатков СНИЗУ ВВЕРХ: 110012

Инженерный принцип: обратная проверка

Ни один перевод в цифровой технике не считается выполненным, пока он не подтвержден обратным вычислением.

Проверяем полученный результат 11001₂ переводом обратно в десятичную систему:

110012 = 1·24 + 1·23 + 0·22 + 0·21 + 1·20
= 16 + 8 + 0 + 0 + 1 = 2510

Результат совпал с исходным числом (25 = 25). Корректность доказана.

Связь оснований 2, 8 и 16: Триады и тетрады

Так как основания являются степенями двойки ($8 = 2^3, 16 = 2^4$), переводы между ними выполняются мгновенно без деления:

Триада (3 бита):
Каждая восьмеричная цифра $0..7$ кодируется 3 битами двоичного числа.
Пример: $5_8 = 101_2$, $7_8 = 111_2$.
Тетрада (4 бита / ниббл):
Каждая шестнадцатеричная цифра $0..F$ кодируется 4 битами двоичного числа.
Пример: $A_{16} = 1010_2$, $F_{16} = 1111_2$.

Пример перевода BIN ↔ HEX через тетрады

Переведем 110111101010₂ в шестнадцатеричную систему:

  1. Разбиваем на тетрады СПРАВА НАЛЕВО: 1101 | 1110 | 1010
  2. Заменяем каждую тетраду на символ HEX:
    • 1101₂ = 8+4+0+1 = 13 = D
    • 1110₂ = 8+4+2+0 = 14 = E
    • 1010₂ = 8+0+2+0 = 10 = A
Результат: DEA16

Осторожно: типичные ошибки при переводах

Экспресс-тренинг (1 минута)

Определите устно или в черновике:

  1. Сколько бит занимает шестнадцатеричное число 7F₁₆?
  2. Каково десятичное значение двоичного байта 10000001₂?
  3. Чему равно число 16₁₀ в шестнадцатеричной системе?
Самопроверка:
1) 2 тетрады = 8 бит (1 байт).
2) 128 + 1 = 129₁₀.
3) 10₁₆ (один разряд второго порядка и 0 единиц).

Связь с архитектурой компьютера

Мем Grumpy Cat о сложности понимания двоичного кода
Тематический интернет-мем: Grumpy Cat («There are 10 types of people: those who understand binary, and I hate both»).
Первоисточник: Wikimedia Commons (File:Grumpy_Cat_meme_example.jpg).
Автор фото: Gage Skidmore. Лицензия: Creative Commons Attribution-Share Alike 4.0 International (CC BY-SA 4.0).
Изменения: Пропорциональное масштабирование и встраивание через автономный data URI (JPEG Base64) для гарантированной работы без сети.
1 / 15