随笔 - 226,  文章 - 0,  评论 - 4,  阅读 - 30176

先看一段程序:

复制代码
 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   小凉拖  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示