endianness (엔디안)

2021. 10. 23. 17:52CS 지식

메모리와 같은 1차원의 공간에 여러개의 연속된 대상을 배열하는 방법.

빅 엔디안 큰 단위가 앞에 옴. -> 최상위 바이트(MSB)부터 저장
리틀 엔디안 작은 단위가 앞에 옴. -> 최하위 바이트(LSB)부터 저장

x86 아키텍쳐를 쓰는 대부분의 PC들에서는 리틀 엔디안을 사용한다.

리틀 엔디안은 단순히 거꾸로 배열하는 것이 아닌, 데이터의 단위가 거꾸로 배열되는 것이다.

메모리에 저장된 값의 하위 바이트들만 사용할 때(int에서 16비트, 8비트 등을 가져올 때)

앞의 바이트를 빼서 활용할 수 있기 때문에 별도의 계산이 필요하지 않다는 장점이 있다.

ex) 500이라는 값을 가진 int형 변수를 16비트로 변환하고 싶을 때, 그냥 변수 주소부터 두 바이트를 가져오면 됨.

하지만 빅 엔디안이라면 두 바이트를 뒤로 가서 가져와야 함.

 

빅 엔디안은 네트워크 분야에서 주로 사용된다고 한다.

'CS 지식' 카테고리의 다른 글

캐시 메모리  (0) 2021.11.08
메모리  (0) 2021.11.08
호출 규약  (0) 2021.10.25
코드, 데이터, 힙, 스택 영역  (0) 2021.10.23
어셈블리 관련 정리(x86)  (0) 2021.10.15