Power Systems (IBM i / AIX) と PC(Windows / LINUX) などとの数字の保存の方法は
異なっているので C言語の開発者に注意を促したい。
IBM i で int型の 4バイト整数の表記は例えば 1であれば
0x00000001
と表現し HDD などに保存するときは
0000
0001
のように 4バイトで保存する。
これは IBM i の開発者であれば何の違和感もない当たり前のことに思える。
しかし Windows などに保管されている int型の 4バイトの整数は HDD内では
0000
1000
のように小さい低バイトの数から大きいほうに向かって記述する。
つまり IBM i では 1234 と記述保管されていたものが
Windows では 4321 と逆順になる。
この表記を前者 (IBM i) はビッグ・エンデアンと呼び
後者 (Windows) はリトル・エンデアンと呼ぶ。
このことを理解しておかないと Windows で使用されているデータを
IBM i の IFS にアップロードして C/400 で解析しようとすると
まるで意味をなさない数字の羅列となってしまう。
面倒だが IBM i 側ではリトル・エンデアンをビッグ・エンデアンに
変換して解釈してやる必要がある。