Learning
토픽 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, 네트워크 프로토콜, 바이트 정렬, 데이터 직렬화