Intro
컴퓨터의 바이트 저장 순서에 대해 알아보자
1. 비트(bit)와 바이트(byte)

- 컴퓨터는 모든 데이터를 2진수로 표현하고 처리한다.
- 비트(bit)란 컴퓨터가 데이터를 처리하기 위해 사용하는 데이터의 최소 단위이다.
- 이러한 비트에는 2진수의 값(0과 1)을 단 하나만 저장할 수 있다.
- 바이트(byte)란 위와 같은 비트가 8개 모여서 구성되며, 한 문자를 표현할 수 있는 최소 단위이다.
2. 바이트 저장 순서(byte order)
- 컴퓨터는 데이터를 메모리에 저장할 때 바이트(byte) 단위로 나눠서 저장한다.
- 하지만 컴퓨터가 저장하는 데이터는 대게 32비트(4바이트)나 64비트(8바이트)로 구성된다.
- 따라서 이렇게 연속되는 바이트를 순서대로 저장해야 하는데, 이것을 바이트 저장 순서(byte order)라고 한다.
- 이때 바이트가 저장되는 순서에 따라 다음과 같이 두 가지 방식으로 나눌 수 있다.
1) 빅 엔디안(big endian)
2) 리틀 엔디안(little endian)
2.1 빅 엔디안(big endian)
- 빅 엔디안 방식은 낮은 주소에 데이터의 높은 바이트(MSB, Most Significant Bit)부터 저장하는 방식이다.
- 이 방식은 평소 우리가 숫자를 사용하는 선형 방식과 같은 방식이다.
2.2 리틀 엔디안(little endian)
- 리틀 엔디안 방식은 낮은 주소에 데이터의 낮은 바이트(LSB, Least Significant Bit)부터 저장하는 방식이다.
- 이 방식은 평소 우리가 숫자를 사용하는 선형 방식과는 반대로 거꾸로 읽어야 한다.
- 대부분의 인텔 CPU 계열에서는 이 방식으로 데이터를 저장한다.
빅 엔디안 vs 리틀 엔디안

엔디안 |
특징 |
|
|---|---|---|
| 1 | 빅 엔디안 |
메모리에 저장된 순서 그대로 읽을 수 있어 디버깅에 용이하다. 숫자 비교 속도가 빠르다. |
| 2 | 리틀 엔디안 |
시작 주소에 값이 들어가기 때문에 자료형 캐스팅에 용이하다. 숫자 연산 속도가 빠르다. |
- 빅 엔디안과 리틀 엔디안은 단지 저장해야 할 큰 데이터를 어떻게 나누어 저장하는가에 따른 차이일 뿐, 어느 방식이 더 우수하다고는 단정할 수는 없다.