Алгоритм перевода конечной P-ичной дроби в десятичную
Материал ОГЭ/ЕГЭ
Алгори́тм перево́да коне́чной P-ичной дро́би в десяти́чную — алгоритм перевода конечной дроби, записанной в позиционной системе счисления в десятичную дробь и представление результата в виде, подходящем для дальнейших преобразований в компьютере.
Алгоритм и примеры его использования
В любой системе счисления нужно уметь представлять не только целые числа, но и дробные. С математической точки зрения это ординарная задача, которая давно решена. Однако с точки зрения компьютерной техники это далеко не тривиальная проблема, во многом связанная с архитектурой компьютера. Ресурсы компьютеров не бесконечны, и основной трудностью является представление периодических и непериодических дробей. Следовательно, такие дроби следует округлять, задавать класс точности участвующих (и могущих появиться в результате вычислений!) чисел без потери точности вычислений, а также следить за тем, чтобы потеря точности не произошла при переводе чисел из одной системы счисления в другую. Особенно важно аккуратно производить вычисления при операциях с плавающей точкой.
Запишем формулу представления дробного числа в позиционной системе счисления:
Ap = an-1·pn-1+an-2·pn-2 + … + a1·p1+a0·p0 +a−1·p−1+a−2·p−2 + … + a-m·p-m.
В случае десятичной системы счисления получим:
24,732 = 2·101+4·100+7·10−1+3·10−2.
Перевод дробного числа из двоичной системы счисления в десятичную производится по следующей схеме:
101101,1012 = 1·25+0·24+1·23+1·22+0·21+1·20+1·2−1+0·2−2+1·2−3=45,625.
Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:
- Вначале переводится целая часть десятичной дроби в двоичную систему счисления;
- Затем дробная часть десятичной дроби умножается на основание двоичной системы счисления;
- В полученном произведении выделяется целая часть, которая принимается в качестве значения первого после запятой разряда числа в двоичной системе счисления;
- Алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений. В противном случае вычисления продолжаются с предыдущего шага.
Пример: Требуется перевести дробное десятичное число 206,116 в дробное двоичное число.
Перевод целой части даёт 20610=110011102 производится по ранее описанным алгоритмам стандартным образом;
дробную часть умножаем на основание 2, занося целые части произведения в разряды после запятой искомого дробного двоичного числа:
.116 • 2 = 0.232
.232 • 2 = 0.464
.464 • 2 = 0.928
.928 • 2 = 1.856
.856 • 2 = 1.712
.712 • 2 = 1.424
.424 • 2 = 0.848
.848 • 2 = 1.696
.696 • 2 = 1.392
.784 • 2 = 0.784
и т. д.
В результате получим: 20610=11001110,00011101102
Литература
- Босова Л. Л., Босова А. Ю. Информатика: учебник для 9 класса. — М.: БИНОМ. Лаборатория знаний, 2013.
- Семакин И. Г., Залогова Л. А., Русаков С. В., Шестакова Л. В. Информатика: учебник для 9 класса. — М.: БИНОМ. Лаборатория знаний, 2015. — Т. 3-е изд..
- Поляков К. Ю., Ерёмин Е. А. Информатика. 9 класс. — М.: БИНОМ. Лаборатория знаний, 2017.
- Угринович Н. Д. Информатика и ИКТ: учебник для 9 класса. — М.: БИНОМ. Лаборатория знаний, 2012. — Т. 6-е изд..

