整型和浮点型是怎么存储的

发布时间 2023-12-11 22:53:02作者: 小凉拖

先看一段程序:

 1 int main()
 2 {
 3     int n = 9;
 4     float* pFloat = (float*)&n;
 5     printf("n的值为:%d\n", n);//将一个整型值以整型的形式取出来
 6     printf("*pFloat的值为:%f\n", *pFloat);//将一个整型值以浮点型的形式取出来
 7     *pFloat = 9.0;//将一个浮点型存在存放整型的内存中
 8     printf("num的值为:%d\n", n);//将一个浮点型值以整型的形式取出来
 9     printf("*pFloat的值为:%f\n", *pFloat);//将一个浮点型的值以浮点型的形式取出来
10     return 0;
11 }

整型值以浮点型的形式取出,浮点型值以整型得形式取出都不是我们预期的结果,这证明浮点型和整型在内存中的存储形式不一样

整型的存储

整型以二进制补码的形式存储,并以十六进制展示

浮点型的存储

存储方式:

 

还原: