Question20180128 十进制转换成二进制浮点数

Posted Abri

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Question20180128 十进制转换成二进制浮点数相关的知识,希望对你有一定的参考价值。

  如何将十进制的浮点数 转换二进制的浮点数,分为两部分:

  • 1. 先将整数部分转换为二进制,
  • 2. 将小数部分转换为二进制, 然后将整数部分与小数部分相加。

  以 20.5 转换为例,20转换后变为10100;0.5  要转换二进制,需要乘2, 乘完之后 取整数部分,然后用乘的结果减去整数部分, 然后接着乘2, 直至最后没有小数或者小数出现循环,  即乘完.如果等于0, 就取前面不为0的部分.

0.5 * 2  = 1.0 (取1)

0 * 2 = 0   (0)

所以,  转换后 0.5 = 0.1,

所以 20.5 转换二进制后, 20.5 = 10100.1(二进制)

--------------------------------

再看一个浮点数 20.3

20 = 10100 (二进制)

0.3  * 2= 0.6  (0)

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,进入循环了,所以,结果

0.3  = 0.010011001...1001

所以20.3 = 10100.010011001...1001 (二进制).

以上是关于Question20180128 十进制转换成二进制浮点数的主要内容,如果未能解决你的问题,请参考以下文章

Question20180128 补位的两种方式

java中如何将字符串转换为二进制数

python进制转换

Q&A-20180128

基础部分-1.进制转换

HashMap 扩容原理