endian

目的

endianを確認する

コード

#include <stdio.h>
#include <string.h>

int
main()
{
  int i;
  unsigned char s[4];
  int *ptr = (int*)s;
 
  memset(s, 0, sizeof s);
  
  *ptr = 0x00ff00ff;
 
  for (i = 0; i < 4; i++)
    printf("s[%d] = 0x%x\n", i, s[i]);
  return (0);
}

実行

大体の計算機(PC)では1byteごとに値を保存します。 このとき2byte以上の値を保存するときに最下位biteから格納するものを intel系のlittle endianと呼び最上位からbitを格納するものをmotorola系のbig endianと呼びます。 なお、実行環境はlittle endianを使用しています。

$ gcc -o endian endian.c -g
$ ./endian
s[0] = 0xff
s[1] = 0x0
s[2] = 0xff
s[3] = 0x0
最終更新:2008年04月07日 01:57
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。