我设法找到并理解将任何 $ x \ in \ bbb r $ 转换为二进制数的算法。

但是,我很难找到一种用于将二进制数转换为十进制数的二进制数的算法。 我想转换 $(0.11001100 ...)_ 2 $ 到十进制数。

有帮助吗?

解决方案

适当分数的经典公式是 $$(0.a _ {-1} a _ {-2} a _ { - 2} a _ {-3} \ cdots)_2=left(\ sum \ limits_ {k= 1} ^ {\infty} \ frac {a _ {-k}} {2 ^ k}右)_ {10} $$ 其中 $ a _ {-k} $ 我们有 $ k \ in \ mathbb {n} $ $ a _ {-k} \ in \ {0,1 \} $ 。正如您所看到的,索引是负数。

在你的例子中 $$(0.11001100 ...)_ 2=left(\ frac {1} {2 ^ 1} + \ frac {1} {2 ^ 2} + \ frac {1}{2 ^ 5} + \ frac {1} {2 ^ 6} + cdots \右)_ {10} $$

其他提示

$ x= 0.11001100 ... $ 。在基础 $ 2 $ 。然后 $ 16x= 1100。\ overline {1100} \意味着15x= 12 \意味着x= 4/5 $

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top