[CS] 엔디안이란?

윤동환·2023년 3월 20일
0

Computer Science

목록 보기
1/10

바이트 저장 순서(Byte order)

컴퓨터는 데이터를 메모리에 저장할 때 바이트(byte) 단위로 나눠서 저장합니다.
컴퓨터가 저장하는 데이터는 대게 32비트(4바이트)나 64비트(8바이트)로 구성됩니다.
이렇게 연속되는 바이트를 순서대로 저장해야 하는데, 이것을 바이트 저장 순서(byte order)라고 합니다.
바이트 순서(Byte order)는 빅엔디안, 리틀엔디안으로 나눌 수 있습니다.

빅 엔디안, 리틀 엔디안

컴퓨터가 데이터를 읽는 방식
빅 엔디안 : 왼쪽 → 오른쪽
리틀 엔디안 : 오른쪽 → 왼쪽

❓ 엔디언이라는 단어는 조너선 스위프트의 <걸리버 여행기>에 나오는 소인국 릴리퍼트 이야기에서 달걀을 깰 때 뭉툭한 끝 (big-end)를 먼저 깨는 사람들(빅엔디언)과 뾰족한 끝(little-end)를 먼저 깨는 사람들(리틀 엔디언) 사이에 격론이 벌어진 데서 따온 것

  • 1바이트는 8비트로 이루어져 있는데 비트는 빅 엔디안으로 저장한다.
  • 단, 바이트 단위를 저장할 땐 빅, 리틀 엔디안으로 나뉜다.

빅 엔디안 저장방식

리틀 엔디안 방식으로 저장을 한다면, 비트단위는 빅 엔디안으로 12(0001 0010)으로 저장하되 바이트 단위는 오른쪽 부터 저장하여 56 34 12가 될 것이다.

장점

빅엔디안의 경우 사람이 숫자을 읽기 편하다는 장점이 있습니다.

리틀 엔디안은 2A 00 00 00 같은 표현에서 앞의 두 바이트만 떼어내면 16 혹은 8비트를 바로 사용할 수 있습니다.

profile
모르면 공부하고 알게되면 공유하는 개발자

0개의 댓글