CS/운영체제

리틀앤디안과 빅앤디안

혀니리리 2023. 12. 7. 12:23
728x90

[개념정리] 빅엔디안(Big Endian)과 리틀엔디안(Little Endian) (tistory.com)

 

[개념정리] 빅엔디안(Big Endian)과 리틀엔디안(Little Endian)

통신을 하다 보면 통신 패킷이 반대로 나갈 때가 있습니다. 예를 들면 1 2 3 4를 보냈는데 막상 받는 쪽에서 들어온 패킷은 4 3 2 1인 거죠 이는 컴퓨터 CPU의 데이터를 저장하는 순서에서 발생하는

softtone-someday.tistory.com

 

바이트 저장 순서에 따라 빅 엔디안, 리틀 앤디안으로 나뉨

 

* 빅 엔디안(Big Endian) : 저장할 때 상위 바이트. 즉, 큰 쪽을 먼저 저장하는 것 (0x3412 => 34 다음에 12 순서로 전송)

* 리틀 엔디안(Little Endian) : 저장할 때 하위 바이트. 즉, 작은 쪽을 먼저 저장하는 것  (0x3412 => 12 다음에 34 순서로 전송)

 

* 이해의 필요성: 통신을 할 때 패킷을 전송하는 순서를 맞춰야 꼬일 일이 없기 때문

 

통신하는 패킷끼리 앤디안 방식이 다르면 문제 발생

따라서 네트워크에서는 빅엔디안으로 통일됨

but 컴퓨터 아키텍처 자체 (시스템)는 x86이 리틀 앤디안을 따르기 때문에 리틀앤디안을 많이 씀

 

빅 엔디안과 리틀 엔디안은 단지 저장해야 할 큰 데이터를 어떻게 나누어 저장하는가에 따른 차이일 뿐, 어느 방식이 더 우수하다고는 단정할 수 없습니다.

 

물리적으로 데이터를 조작하거나 산술 연산을 수행할 때에는 리틀 엔디안 방식이 더 효율적입니다.

하지만 데이터의 각 바이트를 배열처럼 취급할 때에는 빅 엔디안 방식이 더 적합합니다.

728x90

'CS > 운영체제' 카테고리의 다른 글

뮤텍스와 세마포어  (1) 2023.12.07
메모리 단편화  (1) 2023.12.07
Atomic 메모리 모델  (2) 2023.11.22
데드락(Deadlock)과 해결방법  (0) 2023.11.22
스핀락(SpinLock)  (0) 2023.11.22