Конвертация дробей между системами
Дробная часть числа переводится между позиционными системами по тем же принципам, что и целая: значение каждого разряда зависит от основания системы. Для конечных дробей удобно использовать последовательное умножение, а для периодических — перевод через обыкновенную дробь или поиск повторяющихся остатков.
Дробные разряды и значение записи
В позиционной системе с основанием \(q\) цифры справа от разделительной запятой имеют веса \(q^{-1}, q^{-2}, q^{-3}\) и так далее. Первый знак после запятой — это дробный разряд с весом \(\frac{1}{q}\), второй — с весом \(\frac{1}{q^2}\).
Запись \(a_k...a_1a_0,a_{-1}a_{-2}...a_{-m}\) в системе с основанием \(q\) означает сумму \(a_kq^k+...+a_1q+a_0+a_{-1}q^{-1}+...+a_{-m}q^{-m}\). Каждая цифра должна быть меньше основания: \(0\le a_i<q\).
Например, \((10,101)_2=1\cdot2^1+0\cdot2^0+1\cdot2^{-1}+0\cdot2^{-2}+1\cdot2^{-3}=2+\frac12+\frac18=2{,}625\). При записи результата важно не путать основание системы и десятичную запятую.
В десятичной системе после запятой стоят доли \(\frac{1}{10},\frac{1}{100},\frac{1}{1000}\), в двоичной — \(\frac12,\frac14,\frac18\), в восьмеричной — \(\frac18,\frac1{64},\frac1{512}\).
Перевод конечной дроби умножением
Чтобы перевести десятичную дробь в систему с основанием \(q\), дробную часть последовательно умножают на \(q\). Целая часть каждого результата становится очередной цифрой после запятой. Затем из результата берут только дробную часть и снова умножают её на $q.
Здесь \(x\) — исходная дробная часть, \(a_{-1},a_{-2},...\) — цифры новой записи, а \(x_1,x_2,...\) — следующие дробные остатки. Процесс заканчивается, когда очередной остаток равен нулю. Если остаток не появляется снова и не становится нулём, запись может быть бесконечной непериодической; для рациональных чисел в любой целевой системе повторение остатка всё равно возникнет.
Для перевода дроби из десятичной системы в систему с основанием \(q\) последовательно умножайте дробную часть на \(q\), выписывая целые части результатов слева направо. Остановитесь при нулевой дробной части или зафиксируйте повторяющийся остаток.
Переведём \((13{,}625)_{10}\) в двоичную систему. Целую часть \(13\) переводим отдельно: \((13)_{10}=(1101)_2\). Для дробной части последовательное умножение даёт цифры \(101\). Следовательно, \((13{,}625)_{10}=(1101{,}101)_2\).
Какая цифра будет первой после запятой при переводе \(0{,}7_{10}\) в троичную систему?
Периодические дроби и повторение остатков
Если при умножении появляется уже встречавшийся дробный остаток, дальнейшие действия полностью повторяются. Поэтому цифры между двумя появлениями этого остатка образуют период. Такой способ особенно полезен при переводе десятичной дроби в двоичную, троичную или другую систему.
Периодической называют бесконечную дробь, в которой некоторый блок цифр повторяется бесконечно: например, \(0{,}1(6)_{10}=0{,}1666...\). Повторяющийся блок записывают в скобках.
У рационального числа период может начинаться сразу после запятой или после нескольких неповторяющихся цифр. Неповторяющаяся часть называется предпериодом. В новой системе период может выглядеть совсем иначе, чем в исходной.
Несократимая дробь \(\frac{m}{n}\) имеет конечную запись в системе с основанием \(q\) тогда и только тогда, когда все простые делители числа \(n\) являются простыми делителями \(q\).
Например, в десятичной системе конечны дроби со знаменателем вида \(2^a5^b\), потому что \(10=2\cdot5\). В двоичной системе конечными будут только дроби со знаменателем \(2^a\). Поэтому \(\frac18\) в двоичной системе конечна, а \(\frac15\) даёт периодическую запись.
Перевод через обыкновенную дробь
Иногда удобнее сначала представить число как обыкновенную дробь, а затем перевести числитель и знаменатель или выполнить деление в целевой системе. Для периодической десятичной дроби сначала устраняют период стандартным вычитанием.
Теперь дробь \(\frac13\) можно переводить в любую систему делением числителя на знаменатель или последовательным умножением дробной части. Например, в двоичной системе остатки при делении будут повторяться, поэтому получится периодическая запись \(0{,}(01)_2\).
Если исходная дробь конечная и дана в десятичной записи, обычно быстрее применять умножение. Если дана периодическая дробь или требуется доказать период, сначала преобразуйте её в обыкновенную дробь. Для перевода между двумя недесятичными системами можно сначала перейти через десятичную.
При переводе целой и дробной частей действуют разные алгоритмы: целую часть делят с остатками на основание новой системы, а дробную — умножают на основание. Для целой части полезно повторить перевод дробей умножением и не смешивать направления записи цифр.
1. Выписывают не целую часть результата, а весь результат. 2. После умножения продолжают работать с прежней дробью, а не с новым остатком. 3. Читают цифры при переводе целой части в прямом порядке, хотя остатки нужно записывать снизу вверх. 4. Используют цифру, равную основанию или большую него. 5. Теряют нули внутри дробной части: например, \(0{,}25_{10}=0{,}01_2\), а не \(0{,}1_2\). 6. Округляют периодическую дробь без указания приближённости.
Проверка результата
Надёжная проверка — обратный перевод. Для записи в системе с основанием \(q\) умножьте каждую цифру на соответствующую степень \(q\) и сложите. Для конечной дроби достаточно вычислить сумму точно. Для периодической дроби можно проверить несколько первых знаков или использовать обыкновенную дробь.
В экзаменационных вычислениях полезно оценивать результат: двоичная дробь \(0{,}1_2\) равна \(0{,}5_{10}\), поэтому двоичная дробь с первой цифрой 1 после запятой не может быть меньше \(0{,}5\) при отсутствии целой части. Такая оценка быстро обнаруживает ошибку в порядке цифр.
Проверь себя
Главное
- Вес дробного разряда справа от запятой в системе с основанием \(q\) равен \(q^{-1},q^{-2},...\).
- Для перевода дробной части умножают её на основание новой системы и выписывают целые части результатов.
- Нулевой остаток даёт конечную запись; повторившийся остаток показывает начало или продолжение периода.
- Конечность дроби определяется простыми делителями знаменателя после сокращения и основания системы.
- Целую и дробную части переводят разными алгоритмами, а результат проверяют обратным вычислением по степеням основания.