AI 시스템 반도체 SW/기술 면접

[기술 면접] Big Endian(모토롤라 계열)과 Little Endian(인텔 계열)

psh010208 2026. 5. 30. 20:53

엔디언(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