首页 > 技术文章 > C语言-浮点数的秘密

lemaden 2018-12-07 10:46 原文

一、浮点数的秘密

1.内存中的浮点数

浮点数在内存中的存储方式为:符号位、指数、尾数

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

实例分析:

 1 #include <stdio.h>
 2 //打印十进制的内存表示
 3 int main()
 4 {
 5     float f = 8.25;
 6     
 7     unsigned int* p = (unsigned int*)&f;
 8     
 9     printf("0x%08X\n", *p); //十六进制
10     
11     return 0;
12 }

float 跟int 都是四个字节为什么float 表示的范围要更广呢?

 

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5  
 6     float f = 3.1415f;
 7     float fl = 123456789;
 8     
 9     printf("%0.10f\n", f);
10     printf("%0.10f\n", fl);
11     
12     return 0;
13 }

 

推荐阅读