「endian」の編集履歴(バックアップ)一覧はこちら
「endian」(2008/04/07 (月) 01:57:20) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*目的
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
*目的
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