Перевод чисел между системами счисления
💻 Информатика · 8 класс
Что такое система счисления
Система счисления — это способ записи чисел с помощью набора знаков (цифр) по определённым правилам. Количество различных цифр, которые используются в записи, называют основанием системы. В привычной нам десятичной системе основание равно десяти, и применяются цифры от нуля до девяти. В информатике особенно важны двоичная (основание два), восьмеричная (основание восемь) и шестнадцатеричная (основание шестнадцать) системы, потому что компьютер хранит данные в виде последовательностей из нулей и единиц.
Позиционные системы
Все перечисленные системы являются позиционными: значение цифры зависит от её места (позиции) в записи. Каждая позиция связана со степенью основания. Например, число в десятичной системе раскладывается так:
253 = 2*10^2 + 5*10^1 + 3*10^0
Точно так же раскладывается число в любой другой позиционной системе, только вместо десятки подставляют основание этой системы.
Перевод в десятичную систему
Чтобы перевести число в десятичную систему, нужно записать его в виде суммы произведений цифр на степени основания и вычислить результат. Разберём двоичное число 1011:
1011(2) = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 8 + 0 + 2 + 1 = 11(10)
Перевод из десятичной системы
Обратный перевод выполняют делением с остатком на основание новой системы. Делим число, записываем остаток, частное снова делим — и так до нуля. Затем выписываем остатки снизу вверх. Переведём число одиннадцать в двоичную систему:
11 / 2 = 5, остаток 1
5 / 2 = 2, остаток 1
2 / 2 = 1, остаток 0
1 / 2 = 0, остаток 1
Ответ (снизу вверх): 1011
Таблица соответствия
| Десятичная | Двоичная | Восьмеричная | Шестнадцатеричная |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 5 | 0101 | 5 | 5 |
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
В шестнадцатеричной системе для цифр после девяти используют буквы: A — это десять, B — одиннадцать и так далее до F (пятнадцать). Это позволяет записывать большие числа короче, чем в двоичной системе.
Быстрый перевод между двоичной и шестнадцатеричной
Между двоичной, восьмеричной и шестнадцатеричной системами есть удобная связь, потому что их основания — это степени двойки. Чтобы перевести двоичное число в шестнадцатеричное, его разбивают на группы по четыре цифры справа налево (для восьмеричной — по три цифры), и каждую группу заменяют одной цифрой. Разберём двоичное число 11011010:
1101 1010
1101(2) = 13(10) = D
1010(2) = 10(10) = A
Ответ: DA(16)
Обратный перевод выполняется так же просто: каждую шестнадцатеричную цифру заменяют группой из четырёх двоичных цифр. Если в старшей группе не хватает цифр, её дополняют нулями слева.
Зачем нужны разные системы
Компьютер хранит данные в двоичном виде, потому что в электронной схеме легко различить два состояния: есть сигнал или нет. Но длинные двоичные записи неудобны для человека, поэтому программисты применяют восьмеричную и особенно шестнадцатеричную систему как краткую форму записи тех же двоичных данных. Один байт (восемь двоичных цифр) умещается ровно в две шестнадцатеричные цифры.
Частая ошибка. При переводе делением остатки выписывают не в том порядке, в котором они получались, а в обратном — снизу вверх. Если выписать сверху вниз, число окажется записанным «задом наперёд». Также при разбиении двоичного числа на группы важно отсчитывать их именно справа, от младших разрядов.
Кратко о главном
- Основание системы — это количество используемых цифр.
- В десятичную систему переводят разложением по степеням основания.
- Из десятичной переводят делением с остатком, остатки читают снизу вверх.
- Двоичная, восьмеричная и шестнадцатеричная системы применяются в работе компьютера.