Перевод дробных чисел между системами счисления
💻 Информатика · 9 класс
Перевод дробных чисел между системами счисления
В курсе информатики мы учимся переводить целые числа между системами счисления. Но числа бывают и дробными — с частью после запятой. Перевод таких чисел складывается из двух независимых действий: отдельно переводят целую часть и отдельно — дробную, а затем соединяют результаты.
Перевод целой части
Целую часть переводят уже знакомым способом — делением нацело на основание новой системы с записью остатков снизу вверх. Например, для перевода в двоичную систему число делят на 2, пока не получится 0, а остатки читают в обратном порядке.
Перевод дробной части
Дробную часть переводят умножением на основание новой системы. Алгоритм для перевода из десятичной в двоичную:
- умножаем дробную часть на 2;
- целая часть произведения становится очередной цифрой результата (0 или 1);
- с оставшейся дробной частью повторяем умножение;
- останавливаемся, когда дробная часть стала равна нулю или достигли нужной точности.
Цифры записываются сверху вниз — в том порядке, в котором они получались.
Разобранный пример
Переведём число 5,625 в двоичную систему. Сначала целая часть 5:
5 : 2 = 2, остаток 1
2 : 2 = 1, остаток 0
1 : 2 = 0, остаток 1
читаем снизу вверх -> 101Теперь дробная часть 0,625:
| Действие | Произведение | Цифра |
|---|---|---|
| 0,625 · 2 | 1,25 | 1 |
| 0,25 · 2 | 0,5 | 0 |
| 0,5 · 2 | 1,0 | 1 |
Дробная часть стала нулём, читаем цифры сверху вниз: 0,101. Соединяем результаты: 5,625 = 101,101 в двоичной системе. Обратите внимание: целая и дробная части переводятся совершенно по-разному, и только в самом конце их объединяют запятой. Тот же приём годится и для восьмеричной или шестнадцатеричной системы — меняется лишь основание, на которое делят целую часть и умножают дробную.
Обратный перевод
Чтобы перевести двоичную дробь обратно в десятичную, каждый разряд умножают на степень двойки. Разряды после запятой имеют отрицательные степени:
101,101 = 1·4 + 0·2 + 1·1 + 1·(1/2) + 0·(1/4) + 1·(1/8) = 5,625Частые ошибки. Целую часть переводят делением, а дробную — умножением: не перепутайте. Остатки целой части читают снизу вверх, а цифры дробной — сверху вниз. Многие дроби в двоичной системе бесконечны (например, 0,1 в десятичной), тогда перевод обрывают на заданном числе знаков.
Из-за этого компьютер хранит дробные числа лишь приближённо: бесконечную двоичную дробь округляют до определённого числа разрядов. Поэтому при вычислениях с дробными числами иногда возникают крошечные погрешности — это прямое следствие того, что не каждая привычная нам десятичная дробь точно укладывается в двоичную систему.
Кратко о главном
- Дробное число переводят по частям: целую и дробную отдельно.
- Целую часть переводят делением на основание.
- Дробную часть переводят умножением на основание.
- Цифры дробной части записывают сверху вниз.
- Не каждая десятичная дробь точно выражается в двоичной.