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

Нужно перевести десятичную дробь например(0,65), в двоичную систему счисления! На примере дроби 0,75 все выходит просто: 0,75 *2 = 1,50 * 2 = 3,00 в итоге получаем 0,11 - получили единицу, и на этом останавливаемся! а в примере 0,65 уже сложнее... тут мы получаем бесконечный цикл, который может продолжаться бесконечно!

т.е получается 0,65*2 = 1,30 * 2 = 0,60 * 2 = 1,22 * 2 = 0,44 * 2 = 0,88 и тут начинается цикл! т.е 1,76 -> 1,52 -> 1,04 -> 0,08 -> 0,16 -> 0,32 -> 0,64 -> 1,28 -> 0,46 -> 0,72 -> 1,44 и опять получается 0,88

Как понять что мы получили необходимую точность вычислений?

Аватар пользователя Музафаров А.М.

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

0,65*2=1,3(1)
0,3*2=0,6 (0)
------------- начало периодической дроби
0,6*2=1,2 (1)
0,2*2=0,4 (0)
0,4*2=0,8 (0)
0,8*2=1,6 (1)
--------------
0,6*2=1,2 (1)

0,65(десятичная)=1,10(1001) (двоичная)
1,10(1001)=1,1010011001100110011001... до необходимой точности.
Точность задается количеством знаков, например если до 7 знаков то ответ 1,1010011

Аватар пользователя Дмитрий Плуженко

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

ну вообще дложно получиться как минимум 1000001

Аватар пользователя Дмитрий Плуженко

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

Разобрался, уже и урок провел)))

Аватар пользователя Дмитрий Глуховской

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

Точность задается в условии задачи. До такого-то количества знаков.