大端和小端模式

简介: 大端和小端模式

大端和小端模式


什么是大端什么是小端模式:

大端:将表示一个对象的字节在内存中按照从最高有效字节到最低有效字节的顺序存储,即最高有效字节在内存地址最前面的方式,称为大端法。

小端:将表示一个对象的字节在内存中按照从最低有效字节到最高有效字节的顺序存储,即最低有效字节在内存地址最前面的方式,称为小端法。

如何通过代码判断大小端:

方法一:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int x = 0x01234567;
    for (int i = 0; i < sizeof(int); i++)
    printf("%.2x ", ((char *)&x)[i]);
    printf("\n");
    if (((char *)&x)[0] == 0x67) 
    {
        printf("little endian!\n");
    } else if (((char *)&x)[0] == 0x01) {
        printf("big endian\n");
    }
}

方法二:

此方法请参考《C零散知识点汇总之union关键字》来理解。

int checkSystem( )
{
    union check {
        int I;
        char ch;
    } c;
    c.i = 1;
    if (c.ch == 1) {
        printf("little endian!\n");
    } else {
        printf("big endian!\n");
    }
}
相关文章
|
7月前
|
存储
计算机存储,字节分为大端和小端
计算机存储,字节分为大端和小端
97 1
|
7月前
|
存储 网络协议 API
大端与小端概念、多字节之间与单字节多部分的大小端转换详解
大端与小端概念、多字节之间与单字节多部分的大小端转换详解
519 1
|
存储 C语言
大端存储和小端存储
1.大小端字节序 2.大端存储 3.小端存储 4.为什么会有大小端存储模式之分? 5.如何判断当前机器是大端存储还是小端存储 方法1 方法2
3024 0
|
9天前
|
存储 网络协议 Linux
第七问:你了解大端和小端字节序吗?
大端和小端是计算机中数据存储的两种字节序方式。大端(Big Endian)将高位字节存储在低地址,小端(Little Endian)将低位字节存储在低地址。大端主要用于网络通信和某些文件格式,确保数据传输的一致性;小端广泛应用于本地计算和硬件优化,提高处理速度。现代大多数 PC 和嵌入式设备使用小端字节序,如 x86 和 ARM 架构。
81 0
|
7月前
大端法和小端法
大端法和小端法
67 2
|
存储
大端法与小段法的区别
大端法与小段法的区别
360 0
|
存储 编译器 C语言
大小端字节序和整型提升
大小端字节序和整型提升
|
存储 编译器 C语言
【大小端问题】
大小端是什么? 计算机在内存存储中有两中存储模式: 大端字节序存储模式和小端字节序存储模式。 大端存储模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中。 小端存储模式,是指数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地址中。
|
存储 小程序 编译器
大小端字节序详解
在开始正文之前,我想先问一下大家,内存中是怎样存放一个数的?当然啊,我这里问的不是数据存储的形式(比如整数存原码,负数存补码),而是一个数据存放的顺序 我们先看下面这个例子,当我们看看当把十六进制函数0x11223344存进内存中会是怎么样的。
大小端字节序详解
|
存储 编译器 C语言