반응형

🚀

위 사진은 독립신문 창간호로써 '독립신문'이라는 제목이 우횡서로 적혀있습니다.
현재 우리가 읽고 쓰는 방식(왼쪽 -> 오른쪽)과는 반대로 글이 적혀있으며 
컴퓨터 또한 마찬가지로 방식에 따라 데이터를 저장하는 순서가 다릅니다.
  이러한 순서를 '바이트 오더' 라고 하며
이번 포스팅에서는 빅 엔디안 방식과 리틀 엔디안 방식에 대해 알아보도록 하겠습니다.

 

💡 비트(bit)와 바이트(byte)

  • 비트(bit) : 컴퓨터가 데이터를 처리하기 위해 사용하는 데이터의 최소 단위 (0과 1로 구성)
  • 바이트(byte) :  8개의 bit가 모여 하나의 문자를 표현할 수 있는 최소 단위

 

💡 바이트 오더(Byte Order)

컴퓨터 메모리에 바이트가 저장되는 순서를 바이트 오더라고 하며,
바이트가 저장되는 순서에 따라 빅 엔디안 방식, 리틀 엔디안 방식으로 나뉩니다.
그리고 두 경우에 속하지 않거나 둘을 모두 지원하는 것을 미들 엔디안 방식이라고 합니다.

 

💡 빅 엔디안(Big endian)

낮은 주소에 데이터의 높은 바이트(MSB, Most Significant Bit)부터 저장하는 방식

빅 엔디안 방식은 평소에 우리가 숫자나 문자를 읽는 방식과 같은 선형 방식이며,
메모리에 저장된 순서 그대로 읽을 수 있기 때문에 이해하기 쉽다는 장점을 가집니다.

예시로 32비트 크기의 정수 '0x12345678'이 있다고 할 때 
이 정수는 1바이트 값 0x12, 0x34, 0x56, 0x78 4개로 구성되고 위와 같이 저장됩니다.

 

💡 리틀 엔디안(Little endian)

낮은 주소에 데이터의 낮은 바이트(LSB, Least Significant Bit)부터 저장하는 방식 

리틀 엔디안 방식은 빅 엔디안 방식과는 반대로 거꾸로 읽는 방식이며,
대부분의 인텔 CPU 계열에서는 이러한 방식으로 데이터를 저장합니다. 

예시로 32비트 크기의 정수 '0x12345678'이 있다고 할 때 
이 정수는 1바이트 값 0x12, 0x34, 0x56, 0x78 4개로 구성되고 위와 같이 저장됩니다.

 

🔎 빅 엔디안 vs 리틀 엔디안

빅 엔디안(Big endian) 리틀 엔디안(Little endian)
Unix의 RISC계열의 프로세서가 사용하는 바이트 오더링
네트워크를 통한 데이터 전송시 사용
비교 연산에서 리틀 엔디안보다 빠름
Intel 계열의 프로세서가 사용하는 바이트 오더링
산술연산에서 빅 엔디안보다 빠름

 

 

 

📚 참고

http://tcpschool.com/c/c_refer_endian

반응형

+ Recent posts