Как конвертировать $ (0.11001100 ...) _2 $ до десятичного числа
-
29-09-2020 - |
Вопрос
Мне удалось найти и понимать алгоритм для преобразования любого $ x \ in \ bbb r $ из десятичного числа к двоичному номеру.
Но мне трудно найти алгоритм для преобразования двоичного номера с бесконечными битами в десятичное число. Я хочу преобразовать $ (0.11001100 ...) _ 2 $ до десятичного числа.
Решение
Классическая формула для правильной фракции $$ (0.a _ {- 1} a _ {- 2} a _ {- 3} \ cdots) _2=lever (\ sum \ limits_ {k= 1} ^ {\ k= 1} ^ {\ \infty} \ frac {a _ {- k}} {2 ^ k} \ справа) _ {10} $$ Где для $ a _ {- k} $ У нас есть $ k \ in \ mathbb {n} $ и $ _ {- k} \ in \ {0,1 \} $ .Как вы видите для индексации, принимается отрицательные числа.
в вашем примере $$ (0.11001100 ...) _ 2=левый (\ frac {1} {2 ^ 1} + \ frac {1} {2 ^ 2} + \ frac {1}{2 ^ 5} + \ frac {1} {2 ^ 6} + \ CDOT \ Vant) _ {10} $$
Другие советы
Пусть $ x= 0.11001100 ... $ .В базе $ 2 $ .Затем $ 16x= 1100. \ Uverline {1100} \ Предполагается 15x= 12 \ подразумевает x= 4/5 $ .