토픽 6 / 111·전체 구조 (Overview)
Endianness (바이트 순서)
Endianness (바이트 순서)
멀티바이트 데이터를 메모리에 저장할 때 바이트의 순서를 결정하는 방식으로, Big Endian과 Little Endian 두 가지 방식이 존재
목적: 메모리 저장 방식 정의, 시스템 간 데이터 호환, 네트워크 통신
특징: 하드웨어 설계 선택, 네트워크 바이트 순서, 변환 필요
종류
- •Big Endian: 최상위 바이트(MSB)를 낮은 주소에 저장, 사람 읽기 쉬움, 네트워크 표준
- •Little Endian: 최하위 바이트(LSB)를 낮은 주소에 저장, 연산 효율
시스템
- •Little Endian: x86, x86-64, ARM(대부분), RISC-V
- •Big Endian: 네트워크(Network Byte Order), SPARC, PowerPC, MIPS(설정가능)
- •Bi-Endian: ARM, MIPS, PowerPC(양쪽 지원)
네트워크: Big Endian이 표준(Network Byte Order), htonl/htons/ntohl/ntohs 변환 함수
장점: Big(직관적/네트워크표준), Little(연산효율/x86표준)
단점: 시스템 간 변환 필요, 바이너리 호환성 문제
적용사례: x86(Little), 네트워크 프로토콜(Big), ARM(설정가능)
연관: ISA, 네트워크 프로토콜, 바이트 정렬, 데이터 직렬화