内存中整数的存储
内存中整数都是以补码存放的。而整数有正负之分。
正整数在内存中存放
**整数如果是正整数,则求出其原码就是其补码,将其存放在内存之中。
如果是负数,那就先写出其原码,经过计算得到其补码,存放在内存之中。
浮点数在内存中存储
注意:其中E是无符号的整型
浮点数存储的案例:
存储规则,接下来以32位例进行演示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/12d035a24e8b414ba6dc999553281106.png
存储注意事项:
所以说存储过程中M和E要格外注意。
以9.0在内存中存储为例。
VS调试验证:
**可以看到VS中内存中的数是以十六进制形式来存储的
**我们把内存中的0x 41 10 00 00转换成2进制数
得到以下值
*这和我们的计算是一致的,因此证明上述浮点数存储方式正确。
*
总结:
内存中存放整数:
正数,原反补一致,原码就是存放在内存中的补码。
负数,需要先进行计算,算出补码存放在内存之中。
存放浮点数:
1.将十进制数,转换成二进制的形式,算出相应的S、M、E值。
2.存放E时,注意E为无符号整型,在32位环境下需要+127再进行内存存储。
3.存放M时,只需存放小数点后的数字即可,1可以忽略。