c语言实现大小端的转换
时间: 2023-08-02 13:45:08 浏览: 119
C语言代码实现大小端转换
实现大小端的转换,可以使用联合体的方式,代码如下:
```c
#include <stdio.h>
union Data {
int i;
char c[sizeof(int)];
}data;
int main() {
data.i = 0x12345678;
if(data.c[0] == 0x78) { // 判断低地址存的数据
printf("当前系统为小端模式\n");
} else {
printf("当前系统为大端模式\n");
}
return 0;
}
```
代码中,联合体 Data 中包含 int 型变量 i 和 char 数组 c,其中 char 数组 c 的大小为 int 型变量的大小(即 4 个字节)。存储时,int 型变量和 char 数组共用同一段内存,可以通过修改 char 数组的值来改变 int 型变量的值。首先,将 int 型变量赋值为 0x12345678,然后通过判断 char 数组 c 中第一个元素的值(即低地址存储的数据),来判断当前系统的大小端模式。如果第一个元素的值为 0x78,则表示当前系统为小端模式;否则,表示当前系统为大端模式。
阅读全文