<<불완전한 글>>
엔디언이란?
바이트가 메모리에서 배열되는 순서를 말한다.
영어는 왼쪽에서 오른쪽으로 읽는다. 반면에 아랍어는 오른쪽에서 왼쪽으로 읽는다.
엔디언도 비슷하게 작동한다. 어떤 컴퓨터는 바이트를 왼쪽에서 오른쪽으로 읽고, 또 다른 컴퓨터는 오른쪽에서 왼쪽으로 읽는다.
독립적인 컴퓨터에서는 문제가 없을 것이다. 문제는 다른 방식을 사용하는 컴퓨터 사이에 통신을 할 때 발생한다.
그렇다면 왜 두 가지 방식이 있는 것일까? 그냥 통일하면 안 될까? 두 방식에 장단점이 있는 것일까? 에 대해 알아보고자 한다.
엔디언 용어의 유래

빅 엔디언과 리틀 엔디언이라는 용어는 1980년 대니 코언(Danny Cohen)이 "On Holy Wars and a Plea for Peace"이라는 제목의 인터넷 엔지니어링 노트 137에서 소개했으며, 이후 IEEE Computer 14(10).48-57 (1981)에 인쇄물로 출판되었습니다. 그는 조너선 스위프트의 《걸리버 여행기》(1726)에서 릴리퍼트 국가 내, 큰 쪽에서 삶은 달걀을 깨는 빅-엔디언과 작은 쪽에서 삶은 달걀을 깨는 리틀-엔디언이라고 묘사하는 것을 차용했습니다. 이 비유는 Byte order에 대한 논쟁과 상황을 잘 반영하였기 때문에 사용되었습니다.
빅 엔디언
MSB가 왼쪽에 오도록 바이트를 배열하는 순서입니다.
리틀 엔디언
LSB가 왼쪽에 오도록 바이트를 배열하는 순서입니다.
엔디언이 문제가 되는 이유
앞서 말했든 서로 다른 엔디언 체계를 사용하는 두 컴퓨터가 통신을 하는 경우 문제가 발생한다.
예로, 모든 x86-64 컴퓨터는 리틀 엔디언 방식이지만, TCP/IP는 빅 엔디언 방식을 사용하여, 이 컴퓨터가 통신하려면 엔디언을 알아야 한다.
장단점
빅엔디언은 사용자가 이해하기 쉽다.
리틀 엔디언은 컴퓨터가 이해하기 쉽다.


결론
엔디언 자체는 메모리에 바이트가 저장될 때 의미 있다. 바이트가 CPU 내에서 어떻게 처리될 것인지는 논외이다.
대니 코언의 글에 따르면 이건 사소한 것이다. 두 방식 중 하나로 "합의"되는 것 자체가 중요한 것이지, 어떤 "방식"으로 합의되는지가 중요한 게 아니다.
Reference
What is Endianness? Big-Endian & Little-Endian - GeeksforGeeks
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
www.geeksforgeeks.org
What Is Little-Endian And Big-Endian Byte Ordering?
Computers store data in memory in binary. One thing that is often overlooked is the formatting at the byte level of this data. This is…
captainlink.medium.com
엔디언 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. Big-Endian Little-Endian 엔디언(Endianness)은 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특
ko.wikipedia.org
'System Hacking' 카테고리의 다른 글
| pwndbg 사용법 (0) | 2025.09.20 |
|---|---|
| JK Flip-Flop에서 피드백 회로의 신호가 다음 클럭신호까지 유지될 수 있는 이유 (0) | 2024.07.27 |