第3课 浮点数的秘密

Posted wanmeishenghuo

tags:

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

内存当中的浮点数:

技术分享图片

 

浮点数的转换:

计算指数:

技术分享图片

 

计算尾数:

示例:

技术分享图片

 

8.25是正数,所以符号位为0,最终的指数需要用原始的指数3加上偏移127得到。

10进制浮点数的内存表示:

实验思路如下:

技术分享图片

 

示例程序与运行结果如下:

技术分享图片

 

这和我们上图中手工计算的结果是一致的。

 思考问题:

技术分享图片

 

int和float都是四个字节,所表示的数据的个数是一致的。但是表示的范围是不一样的。

技术分享图片

 

float类型的不精确示例:

技术分享图片

 

运行结果如下:

技术分享图片

 

可以看到打印的结果和我们源程序中的数是不一样的。第二个数的打印更是离谱,与原值相差甚远。

 

小结:

  浮点类型与整数类型的内存表示法不同

  浮点类型的内存表示更复杂

  浮点类型可表示的范围更大

  浮点类型是一种不精确的类型

  浮点类型的运算速度较慢

 

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

第8课 列表初始化_防止类型收窄explicit关键字

第04部分:浮点数类型

十六进制浮点数格式

c语言中浮点数四舍五入 。 保留一个浮点数小数点后的6位,第3位要四舍五入。如 1.1234.567到1234.570000

关于浮点数大小端的一些思考

确定浮点数中的第一个零在哪里