Перевод дробных чисел в двоичную систему
💻 Информатика · 8 класс
Дробные числа в двоичной системе
Любое число можно записать не только в десятичной, но и в двоичной системе счисления. Целую часть переводят делением на основание системы, а вот дробную часть переводят другим способом — последовательным умножением на основание. Этот навык важен для понимания того, как компьютер хранит вещественные (дробные) числа и почему при вычислениях иногда возникают мелкие погрешности.
Напомним, что десятичная дробь, например 0,625, состоит из целой части (здесь это ноль) и дробной части. В этой статье мы переводим именно правильные дроби, у которых целая часть равна нулю. Если у числа есть и целая, и дробная часть, их переводят отдельно, а затем соединяют через запятую.
Правило перевода дробной части
Чтобы перевести правильную десятичную дробь в двоичную систему, нужно:
- умножить дробную часть на
2; - записать целую часть полученного произведения — это очередная цифра дроби после запятой;
- отбросить эту целую часть, а с оставшейся дробной частью повторить умножение;
- продолжать, пока дробная часть не станет равной нулю или пока не наберётся нужное число знаков.
Цифры выписывают в том порядке, в котором они получались — сверху вниз. Это важное отличие от перевода целой части, где остатки от деления записывают в обратном порядке.
Разбор примера
Переведём число 0,625 в двоичную систему:
0,625 * 2 = 1,25 -> целая часть 1
0,25 * 2 = 0,5 -> целая часть 0
0,5 * 2 = 1,0 -> целая часть 1
дробная часть стала 0, останавливаемся
ответ: 0,625 = 0,101 в двоичной системе| Шаг | Умножение | Результат | Цифра дроби |
|---|---|---|---|
| 1 | 0,625 * 2 | 1,25 | 1 |
| 2 | 0,25 * 2 | 0,5 | 0 |
| 3 | 0,5 * 2 | 1,0 | 1 |
Проверить ответ можно обратным переводом: разряды после запятой в двоичной дроби соответствуют долям одна вторая, одна четвёртая, одна восьмая и так далее. Тогда 0,101 равно сумме одной второй и одной восьмой, что в десятичной записи и даёт 0,625.
Бесконечные дроби
Не каждая десятичная дробь переводится в двоичную точно. Например, число 0,1 в двоичной системе даёт бесконечную периодическую дробь. В таких случаях вычисления обрывают на нужном количестве знаков, получая приближённое значение. Именно поэтому в компьютере многие десятичные дроби хранятся не абсолютно точно, и из-за этого результат вычислений иногда чуть-чуть отличается от ожидаемого.
Частая ошибка. Дробную часть нельзя переводить делением, как целую. Делением переводят только целую часть, а дробную — обязательно умножением на основание. Ещё одна ошибка — выписывать цифры снизу вверх; здесь, в отличие от целой части, порядок прямой.
Кратко о главном
- Дробную часть переводят умножением на основание системы.
- Целые части произведений дают цифры дроби в прямом порядке.
- Перевод заканчивается, когда дробная часть равна нулю или набрано нужное число знаков.
- Некоторые дроби дают бесконечную двоичную запись и хранятся приближённо.