Как конвертировать $ (0.11001100 ...) _2 $ до десятичного числа

cs.stackexchange https://cs.stackexchange.com/questions/130106

  •  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 $ .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с cs.stackexchange
scroll top