数据类型介绍
内置类型:
//数据类型中的内置类型
// char //字符数据类型
// short //短整型
// int //整型
// long //长整型
// long long //更长的整型
// float //单精度浮点数
// double //双精度浮点数
//数据类型中的内置类型 单位是字节
// char //字符数据类型 1
// short //短整型 2
// int //整型 4
// long //长整型 4/8
// long long //更长的整型 8
// float //单精度浮点数 4
// double //双精度浮点数 8
//整数数据的二进制表示形式有三种:原码,补码,反码
//三种方法的均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示负
//数值位正数的原、反、补码都相同
int main()
{
//INT_MAX;
int num = 10;//创建一个整型变量,叫num,这时num向内存申请4个字节来存放数据
//4个字节-32比特位
//00000000000000000000000000001010 原码
//00000000000000000000000000001010 反码
//00000000000000000000000000001010 补码
int num1 = -10;
//10000000000000000000000000001010 原码
//11111111111111111111111111110101 反码
//11111111111111111111111111110110 补码
return 0;
}
//字符存储的时候存储的是ASCII码值,存储的是ASCII码值,是整型,所有归类的时候放在整型家族
//计算1-1 = 1+(-1)
//原码计算错误
//0000000000000000000000000000001
//1000000000000000000000000000001
//1000000000000000000000000000010
//补码计算
//0000000000000000000000000000001 1的补码
//1111111111111111111111111111111 -1的补码
//0000000000000000000000000000000
字节序和大小端:
//1.字节序 - 是以字节为单位,讨论存储顺序的
//2.小端字节序存储:把一个数据的低位字节的内容,存放在低地址处,把一个数据的高位字节的内容,存放在高地址处
//大端字节序存储:把一个数据的低位字节的内容,存放在高地址处,把一个数据的高位字节的内容,存放在低地址处
// int main()
// {
// int a = 0x11223344;
// return 0;
// }
//写个程序,如何来判断大小端
//小端返回1
//大端返回0
int check_sys()
{
int a = 1;
// if(*(char*)&a ==1)
// {
// return 1;
// } else
// {
// return 0;
// }
return *(char*)&a;
}
int main()
{
int ret = check_sys();
if(ret==1)
{
printf("小端\n");
} else
{
printf("大端\n");
}
// int a = 1;
// char* p = (char*)&a;//int*
// if(*(char*)&a ==1)
// //if(*p == 1)
// {
// printf("小端\n");
// } else
// {
// printf("大端\n");
// }
return 0;
}