整数存储:
整数在内存中存储的是补码,正数的补码就是它自己,负数的补码是除符号位其他位取反再加1。
浮点数存储:
浮点数在内存中的存储遵从IEEE754标准
《754-2019 - IEEE Standard for Floating-Point Arithmetic》
浮点数在内存中也要先转换成二进制再存入内存
比如5.5,转换成二进制
101.1
根据IEEE754,浮点数存储按照
(-1)^S * M * 2^E
格式进行存储,
其中s代表符号位,正数s=0;负数s=1;
M是有效数字,大小在1-2之间,并且不用保存整数位的1,上述M=011
E是二进制科学计数法,因小数点向左移动了2位。还需要加上中间数(8位)127(11位就是1023),所以上述E=129(100000001)
最终存储效果为
内存序号 | 0 | 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 |
存入值 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |