如何检测CPU是大端还是小端

MSB 最高有效位

LSB 最低有效位


所谓的大端 值得是最高有效位放在最低地址

小端,则是最低有效位放在最低地址


#include <stdio.h> int main() { union ut{ short s; char c[2]; }u;
 if(sizeof(short) == 2) { u.s = 0x0102; fprintf(stderr,"u.s is %d\n",u.s); if(u.c[0] == 1 && u.c[1] == 2) {  printf("big enidan/n"); }
    else if(u.c[0] == 2 && u.c[1] == 1)
 {  printf("little endian./n"); } return 0; } }

你可能感兴趣的:(如何检测CPU是大端还是小端)