目录
浮点数(float和double)在系统中的存储方式和取出方式
我们了解E的存储形式,能存进去就可以取出来,那怎么取出来呢?
数据的存储
数据类型介绍
char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点数
double //双精度浮点数
将类型再进行基本分类
可以分为整形,浮点型,构造类型,以及指针和空类型
char分为3种,char unsigned char和 signed char
signed是有符号类型的,unsigned是无符号类型的。这里的符号指的是正负号。
unsigned是每一位都是数据位,而没有符号位
二进制的原码,补码以及反码
二进制由0和1组成
二进制是这样的。以15为例(32位):
000000000000000000000000001111;这里的四个1分别对应:2的3次方 2的2次方 2的1次方 2的0次方
二进制转换为10进制是这样的:2的3次方*1+ 2的2次方*1+ 2的1次方*1+ 2的0次方*1=15
上面的二进制为二进制的原码。。第一位为符号位:1为负,0为正
反码为除了符号位,原码0 1互换,0变1,1变0
补码是反码加1,逢二进一
其中值得注意的是正整数的原反补码都相同
对于整形来说:数据存放内存中其实存放的是补码。
为什么呢?
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统
一处理;
同时,加法和减法也可以统一处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程
是相同的,不需要额外的硬件电路。
这里比较关键的是:整形数据在存储和计算的时候运用的都是二进制的补码,而打印的时候运用的是原码
大小端介绍
什么大端小端:
大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址
中;
小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地
址中
我们window系统,用的是小段存储模式