Системы счисления
Система счисления — способ записывать числа. Мы выбираем:
- набор цифр (множество);
- правило, как «весит» каждая позиция в записи.
В школе обычно используют десятичную систему (основание 10), а в информатике часто встречаются двоичная (2), восьмеричная (8) и шестнадцатеричная (16).
Основные системы
- Двоичная (2): \(D_2 = \{0, 1\}\).
- Восьмеричная (8): \(D_8 = \{0, 1, 2, 3, 4, 5, 6, 7\}\).
- Десятичная (10): \(D_{10} = \{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\}\).
- Шестнадцатеричная (16): \(D_{16} = \{0, 1, \dots, 9, A, B, C, D, E, F\}\).
Основание системы \(b\) — число разных цифр, которые допускаются в записи числа. Множество цифр этой системы:
Поэтому \(|D_b| = b\).
Корректная запись числа в системе с основанием \(b\) — это такая запись, где каждая цифра принадлежит \(D_b\).
Например, \(2 \in D_4\), но \(4 \notin D_4\), значит \((402)_4\) — некорректная запись.
Запись вида \((10110)_2\) читается так: «число \(10110\) в двоичной системе». Нижний индекс показывает основание.
Позиционная запись
Запись числа — это цепочка цифр: порядок важен. Например, \(12\) и \(21\) — разные числа.
Позиционная запись числа \(a_k a_{k-1}\dots a_0\) в системе с основанием \(b\) означает:
Разряды и вес
Каждая позиция соответствует разряду: справа налево это \(b^0, b^1, b^2\) и так далее. Цифра \(a_i\) умножается на вес разряда \(b^i\).
Например, в десятичной системе:
А в восьмеричной:
Разряд — позиция цифры в записи числа. Старшие разряды стоят слева, младшие — справа.
Цифры для оснований больше 10
В шестнадцатеричной системе используются буквы для цифр больше 9:
| Цифра | Значение |
|---|---|
| A | 10 |
| B | 11 |
| C | 12 |
| D | 13 |
| E | 14 |
| F | 15 |
Например, \((2F)_{16} = 2\cdot 16 + 15 = 47\).
Заметьте: ведущие нули не меняют значение числа, например \((007)_8 = (7)_8\).
Сколько разных записей?
Если длина записи фиксирована и равна \(k\), то на каждом месте можно выбрать одну из \(b\) цифр. По правилу произведения получаем \(b^k\) разных цепочек.
Если это именно \(k\)-значные числа (первая цифра не ноль), то вариантов \((b-1)\cdot b^{k-1}\).
Пример для двоичной системы:
- цепочек длины 3: \(2^3 = 8\) (от \(000\) до \(111\));
- трёхзначных чисел: \(1\cdot 2^2 = 4\) (\(100, 101, 110, 111\)).
Задача:
Найдите значение числа \((3042)_5\).
Решение:
Задачи для тренировки
1. Найдите значения чисел:
a) \((10110)_2\)
b) \((735)_8\)
c) \((2A)_{16}\)
Ответ
a) \(22\).
b) \(7\cdot 8^2 + 3\cdot 8 + 5 = 477\).
c) \(2\cdot 16 + 10 = 42\).
2. Запишите множества цифр \(D_b\) для оснований \(2\), \(5\) и \(12\).
Ответ
\(D_2 = \{0, 1\}\).
\(D_5 = \{0, 1, 2, 3, 4\}\).
\(D_{12} = \{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B\}\).
3. Какие записи корректны для указанного основания?
a) \((2041)_5\)
b) \((402)_4\)
c) \((1201)_2\)
d) \((19F)_{16}\)
e) \((1B7)_{12}\)
Ответ
a) корректна.
b) некорректна (цифра 4 недопустима).
c) некорректна (цифра 2 недопустима).
d) корректна.
e) корректна.
4. Сколько разных цепочек длины 3 можно составить в системе с основанием \(3\)? Сколько среди них трёхзначных чисел?
Ответ
Всего \(3^3 = 27\) цепочек. Трёхзначных чисел: \((3-1)\cdot 3^2 = 18\).