数値をメモリに書き込む際の順番のこと。
RAMなどのメモリは一般に、8ビットを1バイトという単位として扱っている。
一方で、扱うデータのサイズは16ビットや32ビットと、大きな値となる。
このとき、メモリには8ビット単位で分割し一定の順序で格納することになるが、どのような順序とするかは幾つか方法があり、これをエンディアンネスという。
Cによる判別プログラム例は次のとおり。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i = 1;
if(*((char *)&i) == 0x01)
printf("リトルエンディアン\n");
else if(*((char *)&i + sizeof(i) - 1) == 0x01)
printf("ビッグエンディアン\n");
else
printf(">謎<\n");
return EXIT_SUCCESS;
}