小数转二进制

计算机存储数据时是用二进制来存储的,首先我们要知道小数转二进制的机制:

文字描述该过程如下:将该数字乘以2,取出整数部分作为二进制表示的第1位;然后再将小数部分乘以2,将得到的整数部分作为二进制表示的第2位;以此类推,知道小数部分为0。

以下是0.3转成二进制的过程

0.3 * 2 = 0.6———————0

0.6 * 2 = 1.2———————1 

0.2 * 2 = 0.4———————0 

0.4 * 2 = 0.  ———————0 

0.8 * 2 = 1.6———————1 

0.6 * 2 = 1.2———————1 

0.2 * 2 = 0.4———————0

0.4 * 2 = 0.8———————0

取8位小数的话0.3 = 0b(0.01001100)

我们可以发现,这是一个无限循环小数,当计算机提取数据时,再将其转为10进制

0.01001100 = 1*1/4 + 1* 1/32 + 1*1/64 = 0.296875

显然,此时已经不是0.3了


谢谢dalao们的点赞和关注^-^

 

你可能感兴趣的:(常识性知识,C/C++,Python,python,编程语言)