1.数据类型的详细介绍
整形家族
char
unsigned char
signed char
short
unsigned short [int]
signed short [int]
int
unsigned int
signed int
long
unsigned long [int]
signed long [int]
long long
浮点数家族
float
double
long double
构造类(自定义类型)
数组类型
int arr1[10]; -->int[10]
int arr2[5]; -->int[5]
char arr3[5];-->char[5]
结构体类型 struct
枚举类型 enum
联合类型 union
指针类型
int*pi;
char*pc;
float*pf;
void*pf;
结构体指针
空类型
void表示空类型
通常应用于函数的返回类型,函数的参数,指针类型等
2.整型在内存中的存储:原码,反码,补码
正数的原码反码补码相同,符号位为0(符号位为最高位)
负数的原码符号位为1,其他与正数一样
负数的反码除符号位不变,其他位取反
负数的补码为反码加一
例:
10
原码:0x00000000 00000000 00000000 00001010
反码:0x00000000 00000000 00000000 00001010
补码:0x00000000 00000000 00000000 00001010
-10
原码:0x10000000 00000000 00000000 00001010
反码:0x111111111 11111111 11111111 11110101
补码:0x111111111 11111111 11111111 11110110
(tips:负数的原码到反码计算过程先取反再加一,反码到原码的计算方式一样先取反再加一或者先减一后取反)
3.大小端字节序介绍及判断
(1)字节序--是以字节为单位,讨论储存数据的。
(2)小端字节序存储:把一个数据的低位字节的内容存放在低地址处,把一个数据的高位字节的内容,存放在高地址处。
(3)大端字节序存储:把一个数据的低位字节的内容存放在高地址处,把一个数据的高位字节的内容,存放在低地址处。
如:0x 11 22 33 44 中 11 是高位,44 是低位
低地址----------------------高地址
11 22 33 44 大端字节序存储
44 33 22 11 小端字节序存储