使用C语言写出计算机系统测试大小端的程序
时间: 2024-03-26 16:39:00 浏览: 65
下面是一个简单的程序,可以测试当前系统是大端还是小端:
```c
#include <stdio.h>
int main() {
int num = 1;
char* ptr = (char*)#
if (*ptr == 1) {
printf("This system is little-endian.\n");
} else {
printf("This system is big-endian.\n");
}
return 0;
}
```
程序中创建了一个整型变量 `num`,然后将其地址强制转换为一个 `char` 类型的指针 `ptr`。由于 `char` 类型只占用一个字节,所以 `ptr` 指向的是 `num` 的最低有效字节(对于大端系统来说,最高有效字节)。
然后,程序通过判断 `*ptr` 的值来确定系统的字节序。如果 `*ptr` 的值为 1,说明系统是小端(低位字节在前,高位字节在后);否则,系统是大端(高位字节在前,低位字节在后)。
阅读全文