大小端的介绍:
1、小端模式:数据的低位保存在内存地址的低地址中,而数据的高位,保存在内存地址的高地址中。(小小小)
2、大端模式:数据的低位保存在内存地址的高地址中,而数据的高位,保存在内存地址的低地址中。
为什么存在大小端:
在计算机中,我们以字节为单位,每个地址单元都对应一个字节,一个字节是8个比特位。但在我们具体运用的过程中,会出现int型、short型、double型等大于8个比特位的数,对于这些数据来说,他们大于寄存器的一个字节,所以会出现将多个字节安排的问题,进而就有了大小端的概念。
我们也可以利用代码来判断所用的机器是大端模式还是小端模式
#include <stdio.h>
int check_sys()
{
int i = 1; //0x 00 00 00 01
return (*(char *)&i);
//这里利用的是强制类型转换,i是一个int型将它强转成char型那么只留下了低地址的内容,若是小端机那么01存放在低地址中,解引用返回值就是1
}
int main()
{
int ret = check_sys();
if (ret == 1)
{
printf("本机是小端模式\n");
}
else
{
printf("本机是大端模式\n");
}
return 0;
}