浮点数

Posted

tags:

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

做这个题目之前有必要好好了解一下浮点数的有关知识,怎样将浮点数转换为十进制形式,以及怎样将十进制形式转化为浮点数

技术分享

整个32位分为3部分:

sign:符号位,1 bit,0为正,1 为负

Exponent(bias):指数部分 8 bits 存储格式为移码存储,偏移量为127

Mantissa(fraction):尾数部分

比如:我们要存储4.25这个数

4.25->100.01->1.0001*2^2

所以指数部分为  2+127=129  ->  1000 001

位数部分为        0001    并补齐23位

技术分享

如果我们给定一个二进制数  1011 1101 0100 0000 0000 0000 0000 0000  转化为十进制数

最开始的1表示负数

指数部分为:0111 1010   -127  ->  -5

尾数部分为:100 0000 0000 0000 0000 0000 

所以为 -1.100 0000 0000 0000 0000 0000*2^-5=0.000011  ->0.0234375

 

那么回到原题给定我们十进制数,我们应该把它退回到2进制数。这个过程可以由上面2个例子仔细琢磨琢磨。

比如题目中给了我们

 

以上是关于浮点数的主要内容,如果未能解决你的问题,请参考以下文章

php随机浮点数都有哪些?比如从0.1到3.0中随机一个浮点数出来?

用C语言怎么实现浮点数的四舍五入,保留两位小数点

计组_浮点数

C语言中如何对浮点数进行四舍五入?

浮点数

定点数和浮点数