Linuxでエンディアンをチェックする方法


  1. コマンドラインを使用する方法: Linuxのコマンドラインから、以下のコマンドを実行してエンディアンをチェックできます。

    $ echo -n I | od -to2 | awk '{ print substr($2, length($2), 1) }'

    実行結果が "1" であれば、リトルエンディアン(Little Endian)です。実行結果が "0" であれば、ビッグエンディアン(Big Endian)です。

  2. C言語を使用する方法: エンディアンをプログラムでチェックするには、C言語のコードを使用することもできます。以下に例を示します。

    #include <stdio.h>
    int main() {
       unsigned int x = 1;
       char *c = (char*)&x;
       if (*c)
           printf("リトルエンディアン\n");
       else
           printf("ビッグエンディアン\n");
       return 0;
    }

    このコードでは、変数 x の先頭バイトをポインタ c を介してチェックしています。先頭バイトが0であればビッグエンディアン、非ゼロであればリトルエンディアンです。

  3. Pythonを使用する方法: Pythonでもエンディアンをチェックすることができます。以下に例を示します。

    import sys
    if sys.byteorder == 'little':
       print("リトルエンディアン")
    else:
       print("ビッグエンディアン")

    sys.byteorder は、現在のシステムのエンディアンを表す文字列を返します。"little" であればリトルエンディアン、"big" であればビッグエンディアンです。

以上の方法を使用すると、Linuxでエンディアンを簡単にチェックすることができます。適切なコード例を選択し、自分の環境に合わせて使用してください。