09.02.07, Aleksey Korotkov написал(а):
> В Чтв, 08/02/2007 в 20:01 +0300, Damir Shayhutdinov пишет:
> > В принципе, для всех дробей, делитель которых не является степенью 2
> > -результатом
> > будет периодическая дробь.
>
> :) Какой период, например, у 0.011011100101110000...?
Например, 0.0(
Уточненный алгоритм выглядит так:
> 0. Остаток = дробной части исходного числа
> 1. Если остаток равен 0, прекратить алгоритм
> 2. Остаток < 0.5 ?
> 3. Если да, то записать 0, и умножить остаток на 2.
> 4. Иначе записать 1, отнять 0.5 и умножить на 2.
> 5. Перейти к пункту 1.
Заменил "Если больш
> так знает кто-то правило? Ибо пользоваться qalculator я тоже умею, но
> беглый взгляд в его исходники убедил меня что алгоритм преобразования
> я из него не вытащу... :)
Вот например:
надо перевести число 0.625 в двоичное.
0. Остаток = дробной части
1. Если остаток равен 0, прекратить алгоритм
2007/2/8, [EMAIL PROTECTED] :
> да, я уже обломался :)
>
> 2007/2/8, Damir Shayhutdinov <[EMAIL PROTECTED]>:
> > > кстати запятая по ходу сохраняет место - бишь можно отдельно целую
> > > часть отконвертить, а потом дробну ю: 0,26712 представить и
> > > отконвертить как целое 26712 , а потом тупо
> кстати запятая по ходу сохраняет место - бишь можно отдельно целую
> часть отконвертить, а потом дробну ю: 0,26712 представить и
> отконвертить как целое 26712 , а потом тупо дописать результат после
> запятой (потому что значение разрядов сохранится, ибо 1/2 это 64/128)
Не получится.
0.1b = 0.