【发布时间】:2013-10-02 12:43:05
【问题描述】:
我需要编写一个小C程序来证明UNIX操作系统使用的是Big Endian,而MS-Windows/DOS 系统正在使用 Little Endian。我无法将我的想法放入代码中(初学者编码器),但我假设我可以将一个 32 位字加载到一个地址中并检查 LSB 的位置,但我还是个初学者。
谁能帮帮我?
【问题讨论】:
标签: c endianness
我需要编写一个小C程序来证明UNIX操作系统使用的是Big Endian,而MS-Windows/DOS 系统正在使用 Little Endian。我无法将我的想法放入代码中(初学者编码器),但我假设我可以将一个 32 位字加载到一个地址中并检查 LSB 的位置,但我还是个初学者。
谁能帮帮我?
【问题讨论】:
标签: c endianness
#include <stdio.h>
int main()
{
unsigned int i = 1;
char *c = (char*)&i;
if (*c) {
printf("Little endian");
} else {
printf("Big endian");
}
getchar();
return 0;
}
【讨论】:
printf ("%s endian\n", *c ? "Little" : "Big");