数据的储存//
数据类型详细介绍
整形在内存中的存储:源码,反码,补码
大小端字节序介绍及判断
浮点型在内存中的存储分析
数据类型介绍
char //字符数据类型
short //短整形
int //整形
long //长整形
float //单精度浮点型
double //双精度浮点型
了解他们占据的储存空间的大小
类型的意义:
1.使用这个类型开辟空间大小
2.看待类型的视角不同
数据类型分类
整形家族:
char
unsigned char
signed char
short
unsigned short[int]
signed short[int]
int
unsigned int
signed int
long
unsigned long
signed long
浮点家族
float
double
构造家族
数组类型
结构体类型
枚举类型
联合类型
指针类型
int *p
char *p
double *p
空类型
void表示参数,或者无返回值;
通常可用于指针类型和无返回值类型;
整形在内存中的存储
原码补码反码
#### 正数
原码反码补码相同
#### 负数
原码 不变
反码 :对原码除符号位外取反
补码:反码加一
int main()
{
int a = 10;//4个字节
//0000 0000 0000 0000 0000 0000 0000 1010 --原码
//0000 0000 0000 0000 0000 0000 0000 1010 --反码
//0000 0000 0000 0000 0000 0000 0000 1010 --补码
//0x0000000a
int b = -10;
//1000 0000 0000 0000 0000 0000 0000 1010 --原码
//0111 1111 1111 1111 1111 1111 1111 0101 --反码
//0111 1111 1111 1111 1111 1111 1111 0110 --补码
//0xfffffff6
return 0;
}
在计算机内部,加减等运算均采用补码进行
大小端
什么是大端小端
大端储存模式:是指数据的低位存在内存的高地址中,高位存在内存的低地址中;
小端存储模式:是指数据的高位存在内存的高地址中,低位存在内存的低地址中;
浮点型在内存中 的存储
常见的 浮点数:
3.14672
1E10
浮点家族包括: float double long double 类型 ,浮点数表示的范围在 float.h 中定义
浮点数在计算机内部的表示方法
根据国际标准IEEE(电气和电子工程协会)754,任意一个浮点数V可表示为下列形式。
- (-1)^S * M *2 ^E
- (-1)^S 表示符号位, 当 s =0,V为正数;当S=1,V为负数
- M表示有效数字,大于等于1,小于2
- 2^E 表示指数位
eg:十进制5.0 ,写成二进制是101.0,相当于1.01*2 ^ 2 那么,按照上面V的格式,可以得出s=0, M=1.01, E=2