관리 메뉴

Gyejoong's Information

리틀엔디언과 빅엔디언의 차이점 본문

Study/Socket programming

리틀엔디언과 빅엔디언의 차이점

연계중 연계중 2016.10.05 02:40

우선 엔디언(Endianness)은 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된

대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특히 바이트 순서(Byte order)라 한다.


엔디언은 보통 큰 단위가 앞에 나오는 빅 엔디언과 작은 단위가 앞에 나오는 리틀 엔디언으로 나뉘게 된다.


간단하게 차이점을 알아보자면 그림으로 알수있다.


  Big-Endian 

출처 : 위키백과


위 그림은 빅엔디언의 그림이다. 32비트의 정수를 메모리에 배열할 때, ABCD순서로 

큰단위를 앞에 배열하는 것을 볼 수있다.


Little-Endian

출처 : 위키백과


위 그림은 리틀엔디언의 그림이다. 32비트의 정수를 메모리에 배열할 때, DCBA순서로 작은단위가

앞에 배열된 것을 볼 수있다.



좀더 간단하게 차이점에 대해서 알아보자면 바이트순서(byte order)로 알아볼 수 있을것이다.


우선 표를 하나 작성하여 보겠다.


종류 

0x1234의 표현 

0x12345678의 표현 

빅 엔디언

12 34 

12 34 56 78 

리틀 엔디언 

34 12 

78 56 34 12 


위쪽에 빅엔디언의 그림과 리틀엔디언의 그림과 비교해 보았을 때, 같은점을 볼 수있다.

빅엔디언에서는 0ABCD 이런식으로 배열된것을 볼수 있었고, 0x1234의표현과 0x12345678의 표현으로 보았을때,

12 34와 12 34 56 78 이런식으로 배열이 되는 것을 확인할 수있고


리틀 엔디언은 위쪽 그림에서 0DCBA순서르 배열 된것을 볼수 있고, 0x1234의 표현과 0x12345678의 표현으로 볼때,

34 12, 78 56 34 12 이런식으로 배열이 되는 것을 확인할 수있다.


간단하게 정리하자면


리틀엔디언과 빅엔디언의 차이점은 바이트 순서(Byte order)이고, 빅엔디언은 큰 단위가 앞에,

리틀엔디언은 작은단위가 앞에 온다.


0 Comments
댓글쓰기 폼