文章目录
内存中数字的存储方式及补码编码方案
内存中数字的存储方式
小尾方式:把数字的低位,存放在内存的低地址
大尾方式:把数字的低位,存放在内存的高地址。
例如:
int nValue = 0x12345678;
0x78是数字的低位
补码
计算机中用补码表示负数
补码的约定:
- 最高位表示符号位,如果是负数,最高位为1,如果是正数,最高位为0
- 如果是负数,数字的绝对值可以通过操作补码得到
正数补码是它本身,负数补码取反加一
浮点编码
例如:
float fltValue = 16.25;
十进制的123的本质:
1 ∗ 1 0 2 + 2 ∗ 1 0 1 + 3 ∗ 1 0 0 1 * 10^2 + 2* 10^1 +3 * 10^0 1∗102+2∗101+3∗100
同理:
16.25 = 1 ∗ 2 4 + 0 ∗ 2 3 + 0 ∗ 2 2 + 0 ∗ 2 0 + 0 ∗ 2 − 1 + 1 ∗ 2 − 2 16.25 = 1*2^4+0*2^3+0*2^2+0*2^0+0*2^-1+1*2^-2 16.25=1∗24+0∗