엔디언, 빅엔디언, 리틀엔디언

endianness
엔디언
big-endian, little-endian
빅엔디언, 리틀엔디언

1 엔디언

  • Byte Order과 연관된 개념
  • 엔디언은 메모리의 배열하는 방법

2 빅엔디언, 리틀엔디언

  • 빅 엔디언 - 메모리 증가 방향과 동일하게 저장
  • 리틀 엔디언 - 메모리 증가 방향과 반대로 저장

3 32비트 정수 예시

10진수 16진수 빅 엔디언 리틀 엔디언
255 0xFF 00 00 00 FF FF 00 00 00
168496141 0x0A0B0C0D 0A 0B 0C 0D 0D 0C 0B 0A

 

 

4 리눅스 C 실습

#include <stdio.h>

void main()
{
    int a = 255;
    char *pC = (char *)&a;
    int i;

    for (i = 0; i < sizeof(a); i++)
    {
        printf("%02x ", (unsigned char)*pC++);
    }
}
// ff 00 00 00 
// 리눅스는 실제 값과 메모리 순서값이 반대임 → 리틀엔디언

5 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}