一、C中数据的类型
char 字符数据类型
short 短整型
int 整形
long 长整型
long long 更长的整形
float 单精度浮点数
double 双精度浮点数
int 默认为有符号型(signed),unsigned int 表示无符号整型
二、整型在内存中的存储
1、数据在内存中是以补码的形式存储的
2、原码、补码、反码
(1)正数的原码、补码和反码都是相同的
(2)原码:数的二进制形式;
反码:原码符号位不变,其他位取反;
补码:反码+1;
int a = 20;//0x00000014
20
0000 0000 0000 0000 0000 0000 0001 0100
为方便表示会把每四位二进制位,写成一个十六进制位
0 0 0 0 0 0 1 4 -- 十六进制表现形式
即:0x00 00 00 14
00000000000000000000000000010100
00000000000000000000000000010100
int b = -10;//0xfffffff6
-10
10000000000000000000000000001010 -- 原码
0x80 00 00 0a
11111111111111111111111111110101 -- 反码
0xff ff ff f5
11111111111111111111111111110110 -- 补码
0xff ff ff f6 -- 内存里调控监视可以观察到的形式
三、大小端
1、大端:数据的低位保存在内存的高地址位中。
2、小端:数据的高位保存在内存的低地址位中。
判断当前机器内存地址字节序的程序
int check_sys()
{
int a = 1;
return *(char*)&a;
}
int main()
{
int ret = check_sys();
if (ret == 1)
printf("小端n");
else
printf("大端n");
return 0;
}



