728x90
반응형
Endianness
'엔디안(Endianness)' 라는 용어는 Jonathan Swift의 소설 '걸리버 여행기'에 등장하는 두 나라의 이름에서 파생되었다.
이 두나라는 Blefuscu와 Lilliput이라는 나라이며, 각각의 주민들은 계란을 깰 때 큰 쪽(Big end)을 깨냐,
작은 쪽(Little end)를 깨냐로 패가 갈려 싸웠다고들 한다. 따라서 큰 쪽을 깨는 사람들을 Big Endian, 그 반대쪽을 깨는 사람들을 Little Endian이라고 하는 것이 그 기원이라고 한다.
따라서 엔디안(Endianness)라는 용어는 이러한 비트 순서의 차이를 나타내기 위해 파생되었으며,
컴퓨터 아키텍처에서 데이터의 바이트 순서를 설명하는 데 사용된다.
엔디안은 컴퓨터 시스팀이 다른 엔디안을 사용하는 경우 데이터 해석에 영향을 끼칠 수 있으므로 중요한 개념이다.
- 빅 엔디안 (Big-Endian):
- 빅 엔디안은 가장 상위 바이트(최상위 바이트)부터 데이터를 저장하는 방식이다.
- 예를 들어, 32비트 숫자 0x12345678 을 저장할 때 메모리에는 주소 순서대로,
0x12, 0x34, 0x56, 0x78과 같이 저장된다. - 네트워크 프로토콜 중 일부는 빅 엔디안을 사용하며, 대표적으로 TCP/IP 프로토콜이 빅엔디안을 사용한다.
- 리틀 엔디안 (Little-Endian):
- 리틀 엔디안은 가장 하위 바이트(최하위 바이트)부터 데이터를 저장하는 방식이다.
- 따라서 32비트 숫자 0x12345678 은 메모리에서 주소 역순으로 0x78, 0x56, 0x34, 0x12와 같이 저장된다.
- x86 아키텍처와 같은 많은 컴퓨터 아키텍처가 리틀 엔디안을 사용한다.
엔디안과 형변환은 밀접하게 연관되어 있다.
형변환(casting)이란 데이터의 유형을 다른 유형으로 변환하는 프로세스를 의미하며,
이 과정에서 엔디안에 따라 데이터를 올바르게 해석하기 위한 변환이 필요할 수 있다.
728x90
반응형
'OS' 카테고리의 다른 글
Timing Diagram (0) | 2023.12.23 |
---|---|
Linux 파일 시스템 및 디렉터리 구조 (0) | 2023.05.18 |
[Linux] 명령어 - netstat (0) | 2023.05.17 |
리눅스(Linux) 명령어 (0) | 2023.05.13 |
파일 시스템(File System)의 종류와 특징 (0) | 2023.05.13 |