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

как перевести число 0.21 в двоичную систему

Динара Ученик (184), закрыт 11 лет назад
Лучший ответ
максим зубов Мастер (1251) 11 лет назад
Дробь будет, конечно, периодическая.
Первая цифра, естественно, 0.
Потом умножаете число на 2, смотрите: меньше единицы получилось или не меньше?
Если меньше 1, то следующую цифру записываете 0, если не меньше 1 - то записываете 1, а из числа вычитаете единицу. Потом опять умножаете на 2 и повторяете всё. И так далее. И так до тех пор, пока не придёте к числу, которое уже было в последовательности - тогда можно замкнуть период.
То есть вот:

0,210
0,420
0,840
0,681
0,361
0,720
0,441
0,880
0,761
0,521
0,041
0,080
0,160
0,320
0,640
0,281
0,560
0,121
0,240
0,480
0,960
0,921
0,841

Т. о. в двоичной системе это число выглядит так:
0,00(11010111000010100011)
Остальные ответы
Leonid Высший разум (388973) 11 лет назад
Для этого надопредставить число в виде суммы 1/2, 1/4, 1/8 и т. д. Естессно, некоторые из этих слагаемых будут отсутствовать. Вот для 0,21 явно будут отсутствовать 1/2 (0,5) и 1/4 (0,25), так что первые две цифры после запятой - 00. Ну а потом всякий раз надо будет ВЫЧИТАТЬ из текущего результата очередную степень половины, если эту степень пришлось вставить. Скажем, 1/8 (0,125) тут присутствует - значит, пишем 1 в соответствующий разряд и вычитаем 0,125 (то, что подставили) из 0,21(текущее значение) . Получается 0,085, ну и чешем дальше. Следующий разряд у нас - 0,0625 (1/16), он меньше 0,085, так что опять добавляем в запись результата 1, вычитаем 0,0625 из 0,085... ну и так далее, пока не будет определено необходимое число разрядов.
Похожие вопросы