一.整数在内存中的存储
对于整型来说:数据存放内存中其实存放的是补码
正整数的原,反,补码都一样
负整数的三种表示方法都不相同
二.大小端字节序和字节序判断
&a进行观察,会发现以字节为单位是倒过来的
超过⼀个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分 为⼤端字节序存储和⼩端字节序存储,下⾯是具体的概念:
- ⼤端(存储)模式: 是指数据的低位字节内容保存在内存的⾼地址处,⽽数据的⾼位字节内容,保存在内存的低地址处。
- ⼩端(存储)模式: 是指数据的低位字节内容保存在内存的低地址处,⽽数据的⾼位字节内容,保存在内存的⾼地址处
三.浮点数在内存中的存储
浮点数包括:float,double,long,double类型
浮点数表示的范围:float.h中定义。
举个例子
十进制的5.0,二进制为101.0,相当于1.01*2^2,于是可以得出S=0,M=1.01,E=2
IEEE 754规定:
对于32位的浮点数,最⾼的1位存储符号位S,接着的8位存储指数E,剩下的23位存储有效数字M对于64位的浮点数,最⾼的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M
四.浮点数取的过程
E不全为0或不全为1
这时,浮点数就采⽤下⾯的规则表⽰,即指数E的计算值减去127(或1023),得到真实值,再将有效 数字M前加上第⼀位的1。
E全为0
这时,浮点数的指数E等于1-127(或者1-1023)即为真实值,这样是为了表示+-0.以及接近0的很小的数字
E全为1
这时,如果有效数字M全为0,表⽰±⽆穷⼤(正负取决于符号位s)