大小端的介绍:
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;
}
大小端模式是计算机内存中存储多字节数值的一种方式。小端模式下,数据低位存储在低地址,高位在高地址;大端模式则相反。这种差异源于不同体系结构的处理方式。通过检查特定字节是否位于低地址来判断系统是大端还是小端。示例代码展示了如何用C语言检测当前系统的字节序。
1127

被折叠的 条评论
为什么被折叠?



