Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

как переводить ДРОБНЫЕ числа из десятичной системы счисления в двоичную?

Лена Травникова Знаток (306), закрыт 14 лет назад
как переводить целые числа,в принципе,поняла. Но как быть с дробными? Если можно,объясните на примере 291,725. Заранее благодарна.
Дополнен 14 лет назад
я имела ввиду другое, а именно, системы счисления)
например, 291 это 100100011. а как с дробными быть??
Лучший ответ
Integrator Мастер (1397) 14 лет назад
Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:

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

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

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

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

Пример: Требуется перевести дробное десятичное число 291,725 в дробное двоичное число.

Перевод целой части дает 291(10)=100100011(2) - автор сам сказал, я не проверял ); дробную часть умножаем на основание 2, занося целые части произведения в разряды после запятой искомого дробного двоичного числа:
.725 • 2 = 1,45
.45 • 2 = 0.9
.9 • 2 = 1,8
.8 • 2 = 1.6
.6 • 2 = 1.2
.2 • 2 = 0,4
.4 • 2 = 0.8
.8 • 2 = 1.6

и т. д. , до бесконечности в данном случае. Итак, имеем:
291,725 = 100100011,10111001....
Остальные ответы
Юлия Земцева Ученик (194) 14 лет назад
291- целая часть;
725 - имеет 3 знака, значит тысячная) )
291 целая, 725 тысячных

Иван Небогатых Гуру (2552) 14 лет назад
Вот правило, по которому можно перевести дробную часть из десятичной системы в двоичную.
Дробную часть умножаете на 2. Смотрите, появилась ли целая часть. Если появилась, то первый знак после запятой будет 1, иначе 0.
Отбрасываете целую часть, с оставшимся числом повторяете процедуру: умножаете на 2; если целая часть нового числа равна 1, то второй знак после запятой 1, иначе 0. Снова отбрасываете целую часть, и т. д.
Некоротые дроби не переводятся чётко в другую систему счисления, т. е. , если была коротенькая десятичная дробь, то двоичная запросто может оказаться бесконечной.
Обратите внимание, что всё это относится только к дробной части.
Президент интернета Оракул (60061) 7 лет назад
291.725(10)=100100011.10111001100110011001100110011001100110011001100110011(2)
Похожие вопросы