リトルエディアン ビッグエディアン 判別プログラム
int main(){ short s; char *cp; s = 1; cp = (char *)&s; if(*cp){ printf("リトルエディアン\n"); }else{ printf("ビッグエディアン\n"); } return 0; }
shortは上図のように2バイトを使用する。
・リトルエンディアンの場合には、低位バイトから値を格納し始める。
・ビッグエンディアンの場合は、高位バイトから値を格納し始める。
バイト数が大きくなってもルールは同じ。
もっとラフなソースで
int main(){ int i = 1; if(*(char *)&i) printf("little\n"); else printf("big\n"); return 0; }