Little endian vs Big endian

OS 2016. 4. 19. 14:28

이번에는 Little-endian과 Big-endian에 대한 설명과 차이점을 공부해보도록 하겠습니다.


먼저 Little endian 메모리 시작 주소가 하위 바이트부터 기록된다는 것입니다


반대로 Big endian 메모리 시작 주소가 상위 바이트부터 기록됩니다.


이게 무슨 말인지..? 아래 그림으로 참고해보도록 하겠습니다.

 

"메모리 시작 주소가     little(하위), Big(상위 바이트부터 기록된다"

                       

Little endian – 인텔 계열 프로세스에서 주로 사용되는 바이트 오더입니다.

Big endian – Unix 시스템인 RISC 프로세서 계열에서 사용되는 바이트 오더입니다.

 

                  

[Big endian 과 Little endian, 메모리에 담기는 모습]


- Big endian은 그림을 참고하면 0x0A는 메모리 하위 주소에 위치하게 되고 차례로 0x0B, 0x0C, 0x0D가 오게 됩니다. 읽는 순서는 왼쪽 -> 오른쪽 순서로 읽으면 되기 때문에 사람이 보기에 가장 편한 방식이라고 할 수 있습니다.


-Little endian 은 Big endian과 반대로 0x0D가 메모리 하위 주소에 위치하게 되고, 상위 바이트로 올라가며 차례로 나머지 값들이 들어가게 됩니다. Little endian 또는 Big endian에 따라 받아들이는 쪽에서 처리를 잘못하면 엉뚱한 형태가 되므로, 항상 주의가 필요합니다.


위 그림으로 보면 

Big endian은 메모리 a번지부터 ABCD로, Little endian은 메모리 a번지부터 DCBA로 위치된다고 보시면 됩니다. 

(32bit 기준)


WRITTEN BY
SiriusJ

,