1.整形数据在内存的存储
<1>以补码的形式在内存中存储。重点要理解当我们看到数据的时候,首先要将其变为补码的形式;补码的求法,分为有符号和无符号。
<2>大端和小端。主要是指当一个大于一个字节的数据要存储,它的每一位的存储顺序和开辟的地址之间的关系,如果按照低位放在放在低地址就是小端,低位放在高地址就是大端。
<3>具体应用:在具体应用的过程中,会有很多很多坑,但是只要牢记一点,出现问题的原因主要就是1).定义的是无符号缺写成了负数,这个时候要先求出负数的补码然后把它当成无符号来读取;2)超出本身能表示的最大范围
这三道题就能很好的反应上述内容
2.浮点数在内存中存储
浮点数就是我们平常所说的小数,存储的方式与整型是不同的。根据国际标准IEEE(电气和电子工程协会) 754,每一个浮点数都能表示成(-1)^S * M * 2^E ,(-1)^s表示符号位,当s=0,V为正数;当s=1,V为负数。 M表示有效数字,大于等于1,小于2。 2^E表示指数位。
列如:十进制的6.0,写成二进制是 110.0 ,相当于 1.10×2^2(因为在存储的时候有专门的符号位所以在转化成二进制的时候符号先不管)这里S=0,M=1.10(实际存放的时候只存小数点右边的数字,因为所有浮点数的M都是1.多少。所以前面的1就省略了)E=2.
十进制的-6.0,写成二进制是-110.0,相当于是-1.10x2^2.
在内存中就是按照下图的方式存储
1)float型
2)double型