先看一段程序:

 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 }

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

整型的存储

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

浮点型的存储

存储方式:

 

还原:

参考文章

型如何在内存中进行存储呢?_浮点型内存如何存储-CSDN博客

 

posted on 2023-12-11 22:47  小凉拖  阅读(10)  评论(0编辑  收藏  举报