Учитывая повторяющееся двоичное число, например 0.(0011) или 0.0(101), как можно преобразовать его в десятичное?
До сих пор мне удалось откопать простой метод преобразования завершающего двоичного числа в десятичное, как показано ниже:
res(N+2) = res(N+1) / 2 + res(N)
где res — результат после шага N, а N — текущая итерация (N=0; n->(число двоичных цифр)). Повторное применение этого к незавершенному двоичному числу дает хорошее приближение, например
dec:0.4 || bin: 0.(0110):
0 / 2 + 0 = 0
0 / 2 + 0 = 0
0 / 2 + 1 = 1
1/2 / 2 + 1 = 3/2
3/2 / 2 + 0 = 3/4
3/4 / 2 + 0 = 3/8
3/8 / 2 + 1 = 19/16
19/16 / 2 + 1 = 51/32
51/32 / 2 + 0 = 51/64
51/64 / 2 + 0 = 51/128 = 0.3984
что примерно равно 0,4.
Итак, у меня есть средство вычисления приближений, но я изо всех сил пытаюсь найти способ выразить это. Я начал пытаться написать это как ряд, который я могу вычислить на пределе как n->inf без особого успеха до сих пор.