Консультация № 70633
12.01.2007, 14:27
0.00 руб.
0 1 1
Здравствуйте...
У меня вопрос по преобразованию вещественного числа, заданного в 10-й системе счисления в 2-е число...
Алгоритм решения данной задачи у меня есть, но он не полностью описан...
На 1-м шаге мы переводим целую и дробную части числа в 2-ю форму.
Целая часть переводится в 2-й вид так, как это делается обычно. А как дробная часть преобразовывается мне НЕ ИЗВЕСТНО. КАК это делается?
Вот например: 100.25-->1100100.??
Заранее спасибо...

Обсуждение

Неизвестный
12.01.2007, 15:00
общий
это ответ
Здравствуйте, BugZex!
Вам формула представления дробного числа в позиционной системе счисления
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

Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:

Вначале переводится целая часть десятичной дроби в двоичную систему счисления;

Затем дробная часть десятичной дроби умножается на основание двоичной системы счисления;

В полученном произведении выделяется целая часть, которая принимается в качестве значения первого после запятой разряда числа в двоичной системе счисления;

Алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений. В противном случае вычисления продолжаются с предыдущего шага.

Пример:
101101,101 = 1·2**5+0·2**4+1·2**3+1·2**2+0·2**1+1·2**0+1·2**-1+0·2**-2+1·2**-3=45,625
Непосредственно дробная часть:
1·2**-1+0·2**-2+1·2**-3=0,625

Форма ответа