判断是大端字节序还是小端字节序

简介: 判断是大端字节序还是小端字节序 union { short  s; char   c[sizeof(short)]; } un; un.s = 0x0102; if (sizeof(short) == 2) { if (un.

判断是大端字节序还是小端字节序

union

{

short  s;

char   c[sizeof(short)];

} un;

un.s = 0x0102;

if (sizeof(short) == 2)

{

if (un.c[0] == 1 && un.c[1] == 2)

printf("big-endian\n");

else if (un.c[0] == 2 && un.c[1] == 1)

printf("little-endian\n");

else

printf("unknown\n");

}

else

printf("sizeof(short) = %d\n", sizeof(short));

原文

unpv1

目录
相关文章
|
10月前
|
存储
计算机存储,字节分为大端和小端
计算机存储,字节分为大端和小端
115 1
|
10月前
|
存储 网络协议 API
大端与小端概念、多字节之间与单字节多部分的大小端转换详解
大端与小端概念、多字节之间与单字节多部分的大小端转换详解
665 1
|
3月前
|
存储 网络协议 Linux
第七问:你了解大端和小端字节序吗?
大端和小端是计算机中数据存储的两种字节序方式。大端(Big Endian)将高位字节存储在低地址,小端(Little Endian)将低位字节存储在低地址。大端主要用于网络通信和某些文件格式,确保数据传输的一致性;小端广泛应用于本地计算和硬件优化,提高处理速度。现代大多数 PC 和嵌入式设备使用小端字节序,如 x86 和 ARM 架构。
414 0
|
6月前
|
Java
Byte 高位/低位简介绍(大端格式/小端格式)
Byte 高位/低位简介绍(大端格式/小端格式)
643 1
|
存储
大端法与小段法的区别
大端法与小段法的区别
475 0
|
存储 编译器 C语言
大小端字节序和整型提升
大小端字节序和整型提升
102 0
|
存储 网络协议 编译器
字节序,主机字节序与网络字节序
是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序。在计算机中是以字节为单位,每个地址对应一个字节,一个字节8bit。在C中,除了8bit的char以外,还有16bit的short,32位的int,64位long,当然具体要由编译器决定,可以通过sizeof来获取不同类型在内存中占用的字节数。在计算机系统中,当物理单位的长度大于1个字节时(所以char数据就不用区分字节序),就要区分字节顺序。常见的字节顺序有两种:大端和小端,当然还有其他字节顺序,但不常见,例如Middle Endian,通俗的讲,字节序就是cpu对内存中进行存储的顺序(以字节为单位进行存取)
261 0
|
存储 小程序 编译器
大小端字节序详解
在开始正文之前,我想先问一下大家,内存中是怎样存放一个数的?当然啊,我这里问的不是数据存储的形式(比如整数存原码,负数存补码),而是一个数据存放的顺序 我们先看下面这个例子,当我们看看当把十六进制函数0x11223344存进内存中会是怎么样的。
大小端字节序详解
|
存储 编译器 C语言
判断大小端问题
判断大小端问题
102 0