[C]빅엔디안과 리틀엔디안

JH Bang·2022년 6월 20일
0

C/C++

목록 보기
3/8
post-thumbnail

운영체제 별로 메모리 저장 방식이 다르다.

빅엔디안

빅엔디안(big endian) 방식은 작은 메모리 주소값을 시작으로 오름차순으로 최상위 비트부터 차례대로 저장하는 방식이다. 유닉스 계열 운영체제에서 사용한다. 네트워크의 바이트 오더이기도 하다.

리틀엔디안

리틀엔디안(little endian) 방식은 큰 메모리 주소값을 시작으로 내림차순으로 최상위 비트부터 저장하는 방식이다. 윈도우 등 운영체제에서 사용한다.

비트 단위로 정보를 전송할 때 운영체제 스타일에 따라 주의해서 코드를 짜야한다.

글만 보면 이해가 잘 안 될 수 있는데 그림으로 보면 되게 단순한 개념이다.

주의할 점은, 바이트오더 방식으로 읽어야 한다는 것이다. 즉, 비트단위로 쪼개서 특정 메모리 방향으로 저장하는게 아니라, 바이트 단위로 저장한다.
위 예시에서 한칸을 저장되는 단위라고 볼 때 리틀엔디안에 int value = 0x12345678; 을 할당했다면, 78/56/34/12순으로 저장될 것이다.

profile
의지와 행동

0개의 댓글