被一个网络公司排行无限动力给骗了,该怎么办?

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

首先先教怎么将小数转换成二进制,这是基础

假如有数字 80.125怎么将其转换成二进制呢?

对于整数部分 80 转换成二进制想必大家都会的吧,就是 1010000

而对于小数部分 0.125怎么转换成二进制呢,可以看下面的图( 一直乘 2 遇到 1 退出 )

所以最终转换成的二进制数就是

假如有个数字 12.2,怎么将其转换成二进制呢对于整数部分 12 转换成二进制,想必大家都会的吧就是 1100

而对於后面的 0.2 ,怎么转换成二进制呢可以看下面的图( 一直乘 2 ,遇到 1 退出 )

所以最终转换成的二进制数就是1...( 小数部分 0011 无限循环因为不管塖多少次 2 都不可能遇到 1 )

好,看懂了上面的两张图基本上就明白了小数怎么转换成二进制数了

接下来讲怎么将浮点数转换成二进制

先看┅下 float 的存储结构,如下图所示

因为它是负数所以符号位就是 1 (相反,正数的话符号位就是 0 )

我们先将 12.75(忽略负号)转换成二进制小数 1100.11 (這里看不懂再去看看上面两张图)

然后再将这个二进制小数转换成科学计数法 1.10011 * ,这时候我们就得到了尾数部分

为小数部分10011,后面补0占满23位,即 

最后我们只差指数位没有填进去了,理所当然的指数位就是要把  的 3 填进去,怎么填进去呢(注意:指数也有可能是负数)

接下来我再来讲个特殊情况假如浮点数 0.2 怎么转化成二进制

首先将其转化成二进制小数 0.0011......( 小数部分 0011 无限循环)

因为数字是正数,所以符号位是 0

我要回帖

更多关于 网络公司排行 的文章

 

随机推荐