エンディアン

提供: MacWiki
2007年4月1日 (日) 09:00時点におけるWikiSysop (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

エンディアン

多バイト数値データのバイナリフォーマットは、主に次の2通りに大別される。

リトルエンディアン

ビッグエンディアン

見分け方

次のプログラムを実行して、結果が 0x78 → リトルエンディアン、0x12 → ビッグエンディアン。

#include <stdio.h>
int main(void)
{
  unsigned char charVal;
  unsigned long value = 0x12345678;
  unsigned long *ptr = &value;
  charVal = *(unsigned char*)ptr;
  printf("0x%x\n",charVal);
  return 0;
}

メモ

次のような環境変数をセットして、ファイルの read / write 時にエンディアン変換を行ってくれるコンパイラも多い。

例)
F_FMTENDIAN
F_FMTFLOAT
F_UFMTENDIAN

参考ページ


Wiki内の関連ページ