- 비트(bit) : 컴퓨터가 데이터를 처리하기 위해 사용하는 데이터의 최소 단위 (0과 1로 구성)
- 바이트(byte) : 8개의 bit가 모여 하나의 문자를 표현할 수 있는 최소 단위
바이트 오더(Byte Order)란
- 컴퓨터에서 연속된 데이터를 byte단위로 순서대로 저장하는 것이다.
- 1바이트를 넘어가는 일련의 바이트를 조합해서 어떻게 실제 정수 등으로 나타낼지를 정하는 것이다.
- 바이트가 저장되는 순서에 따라 빅 엔디안 방식, 리틀 엔디안 방식으로 나뉜다.
- 두 경우에 속하지 않거나 둘을 모두 지원하는 것을 미들 엔디안 방식이라고 한다.
- 엔디안(Endian) : 컴퓨터 메모리와 같은 1차원의 공간에서 여러개의 연속된 대상을 배열하는 방법이다.
빅 엔디안(Big Endian)란
- 낮은 주소에 데이터의 높은 바이트(MSB, Most Significant Bit)부터 저장하는 방식이다.
- 빅 엔디안 방식은 평소에 우리가 숫자나 문자를 읽는 방식과 같은 선형 방식이며,
메모리에 저장된 순서 그대로 읽을 수 있기 때문에 이해하기 쉽다는 장점을 가진다.- SPARC을 포함한 대부분의 RISC CPU 계열에서는 이 방식으로 데이터를 저장한다.
- 참고
- SPARC (스팍, Scalable Processor ARChitecture - 확장형 프로세서 아키텍처) : 1985년 빌 조이가 몸담고있던 썬 마이크로시스템즈가 개발한 빅 엔디안 RISC 마이크로프로세서이다.
- RISC(Reduced Instruction Set Computer)
: CPU 명령의 갯수를 줄여 하드웨어 구조를 좀 더 간단하게 만드는 방식으로 마이크로프로세서를 설계하는 방법 가운데 하나이다.- TCP/IP 네트워크에서는 빅 엔디안 방식을 사용한다.
- 비교 연산에서 리틀 엔디안보다 빠르다.
- EX) 0x12345678 이라는 32bit 크기의 데이터가 존재 할 경우
0x12, 0x34, 0x56, 0x78로 나누어서 이미지처럼 저장된다.
리틀 엔디안(Little Endian)이란
- 낮은 주소에 데이터의 낮은 바이트(LSB, Least Significant Bit)부터 저장하는 방식이다.
- 평소 우리가 숫자를 사용하는 선형 방식과는 반대로 거꾸로 읽어야 한다.
- 대부분의 인텔 CPU 계열에서는 이 방식으로 데이터를 저장한다.
- 산술연산에서 빅 엔디안보다 빠르다.
- EX) 0x12345678 이라는 32bit 크기의 데이터가 존재 할 경우
0x12, 0x34, 0x56, 0x78로 나누어서 이미지처럼 저장된다.
미들 엔디안(Middle Endian)이란
- 위의 두 경우에 속하지 않거나 둘을 모두 지원하는 것이다.
종류 | 0x1234 표현 | 0x12345678 표현 | "abc"표현 |
---|---|---|---|
빅 엔디안 | [12][34] | [12][34] [56][78] | [61][62] [63][00] |
리틀 엔디안 | [34][12] | [78][56] [34][12] | [61][62] [63][00] |
미들 엔디안 | - | [34][12] [78][56] 또는 [56][78] [12][34] | - |
🙇 참고 사이트 🙇
https://cocoon1787.tistory.com/770 https://6kkki.tistory.com/20 https://jhnyang.tistory.com/172 https://boradol0902.tistory.com/28