用C语言写一段判断大小端的代码
时间: 2024-06-11 10:06:15 浏览: 98
用C语言程序判断大小端模式
以下是用C语言写的判断大小端的代码:
#include <stdio.h>
#include <stdint.h>
int main() {
uint16_t num = 0x1234;
uint8_t *p = (uint8_t *)#
if (*p == 0x34 && *(p + 1) == 0x12) {
printf("This is little-endian.\n");
} else if (*p == 0x12 && *(p + 1) == 0x34) {
printf("This is big-endian.\n");
} else {
printf("Unknown endian.\n");
}
return 0;
}
这段代码将一个16位的无符号整数num赋值为0x1234,然后将其转换为一个指向8位无符号整型的指针,并通过指针来访问num的每个字节。如果num的低字节(最后一个字节)存储在内存的低地址处,那么就是小端模式;如果num的高字节(第一个字节)存储在内存的低地址处,那么就是大端模式。如果无法确定大小端,则输出“Unknown endian”。
阅读全文