如何测试,先看代码!!!(若明白后面可以不用看)
指针类型
#include<stdio.h>
int main()
{
int i = 1;
printf("%d\n", *(char*)&i);
return 0;
}
结构体类型
#include<stdio.h>
union str
{
int i;
char j;
};
int main()
{
union str pre;
pre.i = 1;
printf("%d", pre.j);
return 0;
}
上面看明白下面可以不用看
为什么有大小端???
电脑有一重要作用——>储存数据
数据类型有int,char,float,double等类型
int以4个字节为单位储存
char以1个字节单位储存
float以4个字节单位储存
double以8个字节单位储存
电脑将每个字节赋予一个地址(方便调用内容),但是电脑以十六进制储存,内容以ascll码值(二进制)表达。
那么,问题来了???不同储存类型所占字节大小有所不同,进而储存方式有所不同
因此,诞生了大小端储存
何为大端???(以int类型展示)
何为小端???(以int类型展示)