본문 바로가기

네트워크

바이트 순서 (엔디언)

훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com

 

 

 

엔디언


엔디언
엔디언은 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며,
바이트를 배열하는 방법을 특히 바이트 순서라 한다.
- 위키백과 -

즉, 메모리에 데이터가 어떤 방식으로 저장되는지에 대한 것입니다.



 

빅 엔디언 vs 리틀 엔디언


출처: 위키백과

1. 메모리에는 데이터가 '바이트 단위'로 저장됩니다.

메모리 각 공간이 1byte. 그러니까 8bit로 이루어져 있습니다.

이 4바이트의 데이터를 메모리에 저장하려면 4개로 잘라서 저장해야겠죠? (바이트 단위 저장이니까)

바이트 단위로 자르면

12 34 56 78 (16진수이므로 각 8비트이기 때문에)

 

2. 컴퓨터의 비트열 번호는 왼쪽으로 증가한다.

출처: https://m.blog.naver.com/PostView.nhn?blogId=tipsware&logNo=221242587827&proxyReferer=https:%2F%2Fwww.google.com%2F

왼쪽으로 갈수록 비트 번호가 커집니다.

 


 

빅 엔디언

 

빅 엔디언은 비트 번호가 큰 녀석이 앞쪽에 저장되는 방식입니다.

12 34 56 78이라면,

12가 속해있는 바이트가 비트 번호가 가장 큽니다. (위 그림 참고)

그래서 저장 시 순서대로 12 34 56 78로 저장하는 방식이 빅 엔디언입니다.

 

리틀 엔디언

 

리틀 엔디언은 비트 번호가 작은 녀석이 앞쪽에 저장되는 방식입니다.

12 34 56 78이라면,

78이 속해있는 바이트가 비트 번호가 가장 작습니다. (위 그림 참고)

78 56 34 12로 저장하는 것이 리틀 엔디언 방식입니다.

 

*추가*

왜 87654321이 아닌가?

메모리에는 '바이트 단위'로 저장되기 때문입니다.

16진수 8,7,6 각각은 4bit 그러니까 0.5byte이기 때문에 묶였을 때 1byte로 취급됩니다.


 

'네트워크' 카테고리의 다른 글

TCP 기본  (0) 2021.03.25
네트워크 주소  (0) 2021.03.18
네트워크 계층  (0) 2021.03.04
네트워크 기본  (0) 2021.03.04