엔디언

Chugun (토론 | 기여)님의 2017년 2월 22일 (수) 00:27 판 (일단 대충 휘갈겨 쓰는 것으로... 분류는 잘 모르겠어서 여러분의 편집을 기다립니다...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

Endian (-ness)
엔디언 (엔디안)

개념

어떠한 연속된 대상을 나타내는 방법, 혹은 순서를 말하는 단어다. 특히 전산학 분야에서는 바이트의 배열 순서를 나타내는 용어로 쓰인다. 큰 범주부터 나열하는 것을 빅 엔디언, 작은 범주부터 나타내는 것을 리틀 엔디언이라고 이른다.

일상

일상적인 분야에서는 잘 쓰이는 편은 아니지만 쓸 수 없는 것은 아니다. 다음 세 예시는 일상 생활에서의 엔디언 형태를 나타낸다.

주제 빅 엔디언 리틀 엔디언
주소 표기 경기도 고양시 일산서구 킨텍스로 217-60 217-60, 킨텍스로, 일산서구, 고양시, 경기도
날짜 표기 2017년 2월 20일 20일, 2월, 2017
이름 표기 홍길동 (성-이름) 길동, 홍 (이름-성)

이러한 예제에서 알 수 있듯, 일상 생활 분야에서 일반적으로 동아시아 권역은 빅 엔디언 표기를 선호하는 반면, 서유럽 권역은 리틀 엔디언 표기를 선호한다는 차이점을 알 수 있다[1].

전산학

전산학에서 엔디언은 1차원 바이트 배열에 여러 바이트를 기록할 때 기록되는 순서를 말한다.

  • 0xfedcba98 (4바이트)를 기록한다고 친다면,
    • 빅 엔디언 시스템에서는 fe dc ba 98 순서대로 그대로 저장되는 반면,
    • 리틀 엔디언 시스템에서는 98 ba dc fe 순서처럼 각 바이트별로 반대로 저장되게 된다.

오늘날 가장 대중적인 PC 아키텍처인 인텔의 IA-32 및 IA-32의 AMD 64비트 확장판인 x86-64 아키텍처는 일반적으로 리틀 엔디언을 사용한다. 반면 컴퓨터 네트워크의 주소 체계는 빅 엔디언으로 구성되어 있다. 또한 모바일 프로세서에 주로 사용되는 ARM 아키텍처의 경우 빅 엔디언 및 리틀 엔디언을 상호 선택할 수 있는 옵션이 제공되기도 하며, ARM의 부동 소수점 표현의 경우에는 미들 엔디언이라고 불리는 혼합된 방식(전체를 2바이트 단위로 빅 엔디언으로 구성하고, 그 2바이트 단위 안에서 리틀 엔디언으로 구성함)을 쓰기도 한다.

각주

  1. 구체적인 증거까지는 아니지만, 대체적으로 동아시아 권역(동양)과 서유럽 권역(서양)은 사고 구조가 대칭적인 경우가 많다. 동양은 출발지 → 목적지, 대분류 → 소분류로 향하는 거시적인 사고 구조가 일반적인 반면, 서양은 목적지 → 출발지, 소분류 → 대분류로 향하는 미시적인 사고 구조가 일반적인 편이다.