🟩 Byte Order (바이트 저장 순서)
컴퓨터는 데이터를 메모리에 저장할 때 바이트(byte) 단위로 나눠서 저장합니다.
하지만 컴퓨터가 저장하는 데이터는 32비트(4바이트) 또는 64비트(8바이트)로 구성된다.
따라서 이렇게 연속되는 바이트를 순서대로 저장해야 하는데, 이것을 바이트 저장 순서(Byte Order)라고 합니다.
✅ 두가지 방식
- 빅 엔디안 (Big Endian)
- 리틀 엔디안 (Little Endian)
🟩 빅 엔디안 (Big Endian)
- 우리가 왼쪽부터 읽어나가는 거랑 비슷함.
- 낮은 주소에 데이터의 높은 바이트 부터 저장하는 방식
- 메모리에 저장된 순서 그대로 읽을 수 있고, 이해하기 쉬운 장점
예제
0x12345678
이 정수는 각각 다음과 같이 1바이트값 4개로 구성
0x12, 0x34, 0x56, 0x78
이 4개의 1바이트 값을 빅 엔티안 방식으로 저장하면 다음 그림과 같이 저장된다.
🟩 리틀 엔디안 (Little Endian)
- 낮은 주소에 데이터의 낮은 바이트부터 저장하는 방식
- 대부분의 인텔 CPU 계열에서 이 방식으로 데이터 저장
❌ 물리적으로 데이터를 조작하거나 산술 연산을 수행할 때에는 리틀 엔디안 방식이 더 효율적이다.❌
❌ 데이터의 각 바이트를 배열처럼 취급할 때에는 빅 엔디안 방식이 더 적합하다.❌
❌네트워크를 통해 데이터를 전송할 때에는 빅 엔디안 방식을 사용한다.❌
'Study > CS' 카테고리의 다른 글
[CS💻] API(Application Programming Interface)란? (0) | 2023.07.02 |
---|---|
[CS💻] 카멜 표기법, 스네이크 표기법, 파스칼 표기법 (0) | 2023.06.08 |
[CS💻] 버퍼(Buffer)와 버퍼가 있는 이유 (0) | 2023.06.08 |
[CS💻] 동기화, 비동기화 (0) | 2023.06.08 |
[CS💻] 키코드, 문자코트, ASCII 코드, 유니코드 (0) | 2023.06.08 |