C语言-浮点数的秘密
一、浮点数的秘密
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 }