C语言中基本数据类型有:整型(char short int)浮点型(float duble)
这篇文章主要探讨浮点数在内存中的表示方法,刚学C语言时,一直都在想一个问题,为啥int,float类型都是占据4个字节,在计算机内部都是二进制来表示的,为啥两者表示的范围能够不同?
主要参考资料《深入理解计算机系统》
C语言中,浮点数据类型在内存中的存储分为:符号位、指数位、尾数三部分
如表:
类型 | 符号位 | 指数位 | 尾数 |
float | 1(第31位) | 8位(第23-30) | 23 |
double | 1(第63位) | 11位(52-62位) | 52 |