엔디언(Endianness)
- 엔디언은 컴퓨터 메모리에 1바이트보다 큰 데이터(short, int, long 등)를 배열할 때, 어떤 순서로 저장할 것인가에 대한 규칙(바이트 순서)을 의미
- 예를 들어, 우리가 int num = 0x12345678;이라는 4바이트짜리 16진수 데이터를 메모리에 저장한다고 가정할 때, 이 데이터는 상위 바이트부터 하위 바이트까지 12, 34, 56, 78이라는 4개의 바이트 덩어리로 쪼갤 수 있음
- 상위 바이트(MSB 쪽): 12
- 하위 바이트(LSB 쪽): 78
빅 엔디언 (Big Endian) : 모토롤라 계열
- 모토롤라, 네트워크 패킷 표준
- 빅 엔디언은 우리가 숫자를 종이에 적는 방식과 똑같이 저장
- 가장 높은 자릿수(상위 바이트)를 메모리의 가장 낮은 주소(앞 칸)부터 순서대로 채워 나가는 방식
- 대상 데이터: 0x12345678
- 메모리 배치 (낮은 주소 ➡️ 높은 주소):
주소 0x1000 0x1001 0x1002 0x1003 데이터 12 34 56 78
리틀 엔디언 (Little Endian) : 인텔 계열
- 인텔 x86, ARM, 현대 대다수 CPU
- 리틀 엔디언은 빅 엔디언을 완벽하게 거꾸로 뒤집은 형태
- 가장 낮은 자릿수(하위 바이트)를 메모리의 가장 낮은 주소(앞 칸)에 먼저 채워 나가는 방
- 대상 데이터: 0x12345678
- 메모리 배치 (낮은 주소 ➡️ 높은 주소):
주소 0x1000 0x1001 0x1002 0x1003 데이터 78 56 34 12
'AI 시스템 반도체 SW > 기술 면접' 카테고리의 다른 글
| [기술 면접] unicode와 UTF-8 (1) | 2026.05.30 |
|---|---|
| [기술 면접] CISC(Complex Instruction Set Computer)와 RISC(Reduce Instruction Set Computer) (0) | 2026.05.30 |