티스토리 뷰
OS/ComputerArchitecture
[ComputerArchitecture] Little Endian vs Big Endian
SweetDev 2021. 9. 21. 03:29엔디안의 유래
엔디언이라는 단어는 조너선 스위프트의 <걸리버 여행기>에 나오는 소인국 릴리퍼트 이야기에서 달걀을 깰 때 뭉툭한 끝 (big-end)를 먼저 깨는 사람들(빅엔디언)과 뾰족한 끝(little-end)를 먼저 깨는 사람들(리틀 엔디언) 사이에 격론이 벌어진 데서 따온 것입니다. 빅 엔디언과 리틀 엔디언 중 어느 것을 쓰느냐 하는 문제는 상황에 따라서 임의적이고, 종종 논란의 대상이 있었습니다.
정의
- Big Endian: MSB가 주소가 작은쪽에~
- Little Endian: LSB가 주소가 작은쪽에~
실제에서는?
- Big Endian: Intel x86, AMD, DEC
- Little Endian: IBM, SPARC, Motorola
네트워킹
리틀 엔디안 컴퓨터와 빅 엔디안 컴퓨터가 아무런 변환 없이 정보를 소통하면 큰 오류가 발생할 것이다..!
그래서 사람들이 표준을 정했다. 통신할때는 Big Endian을 쓰기로!!!
어떤 함수를 사용해서 Big Endian으로 바꿀까?
빅엔디안 변환
- htons (Host to Network Short)
- htonl (Host to Network Long)
리틀엔디안 변환
- ntohs (Network to Host Short)
- ntohl (Network to Host Long)
'OS > ComputerArchitecture' 카테고리의 다른 글
[ComputerArchitecture] 컴퓨터의 구성 요소 (0) | 2021.09.15 |
---|---|
[ComputerArchitecture] RISC vs CISC (0) | 2021.09.10 |
[ComputerArchitecture] Performance 평가하기 (0) | 2021.09.10 |
[ComputerArchitecture] Moore's Law (0) | 2021.09.10 |
[ComputerArchitecture] 배우게 될 중요한 개념들 (0) | 2021.09.10 |