十进制小数转换成二进制小数的快速方法

来源:互联网 发布:网络114推广 编辑:程序博客网 时间:2024/06/05 08:27
十进制小数转换成二进制小数的快速方法
 Windows自带的计算器可以方便地把十进制的整数转换成二进制的整数,但是十进制的小数则无法直接转换成二进制的小数。

  今天,我发现了一个快速的解决办法!

  一个十进制小数可以表示成“X.Y”的形式,“X”是整数部分,“Y”是纯小数部分,要分别进行转换,最后合在一起。

  整数部分“X”的转换成二进制可以直接利用Windows的计算器,非常简单,不说了。

  对纯小数部分“Y”的转换,要提前设定转换精度,比如精确到小数点后16位。别理解错了,对于二进制的小数点后16位在精度上仅相当于十进制小数点后的5位,并非十分高!

  将“0.Y”乘以2的16次方,即“0.Y×65536”,结果可能会有小数部分,将小数部分四舍五入到个位,得到一个没有小数部分的纯整数,称作“Z”。

  利用Windows计算器将“Z”转换成二进制,若结果不足16位,则在最前面补0,补够16位。这就是小数部分“Y”对应的二进制了。

  现在将“X”和“Y”对应的二进制数码合在一起(中间当然要有小数点),就是最终结果了!

  举个实例:把十进制纯小数“0.123”转换成二进制小数。

      0.123×65536=8060.928

  四舍五入后得到“8061”,转换成二进制为“1111101111101”,只有13位,前面需要补3个“0”,得到“0001111101111101”。因此结果是

      0.123=(0.0001111101111101)2=(0.1F7D)16

原创粉丝点击