ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 小数用二进制如何表示 > 文字描述该过程如下:将该数字乘以2,取出整数部分作为二进制表示的第1位;然后再将小数部分乘以2,将得到的整数部分作为二进制表示的第2位;以此类推,知道小数部分为0。  **特殊情况:** 小数部分出现循环,无法停止,则用有限的二进制位无法准确表示一个小数,这也是在编程语言中表示小数会出现误差的原因 下面我们具体计算一下0.6的小数表示过程 > 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.6用二进制表示为 1001 1001 1001 1001 ……  如果是10.6,那个10.6的完整二进制表示为 1010.100110011001…… ## 二进制表示的小数如何转换为十进制 其实这个问题很简单,我们再拿0.6的二进制表示举例:1001 1001 1001 1001  文字描述:从左到右,v\[i\] \* 2^( - i ), i 为从左到右的index,v\[i\]为该位的值,直接看例子,很直接的 ```java > 0.6 = 1 \* 2^-1 + 0 \* 2^-2 + 0 \* 2^-3 + 1 \* 2^-4 + …… ``` ***** 文章到这里就全部讲述完啦,若有其他需要交流的可以留言哦~!~! 想阅读作者的更多文章,可以查看我 [个人博客](http://dandanlove.com/) 和公共号:![振兴书城](https://imgconvert.csdnimg.cn/aHR0cDovL3VwbG9hZC1pbWFnZXMuamlhbnNodS5pby91cGxvYWRfaW1hZ2VzLzEzMTk4NzktNjEyYzRjNjZkNDBjZTg1NS5qcGc?x-oss-process=image/format,png)