Endian은 컴퓨터 시스템에서 데이터의 바이트 순서를 나타내는 개념으로, 빅 엔디안, 리틀 엔디안 이렇게 두 종류의 엔디안이 있다.
상위 바이트가 먼저 저장된다.
TCP/IP 등 표준 네트워크 프로토콜에서 사용된다.
장점 ) 인간 친화적이다.
단점) 일부 연산에서 리틀 엔디안보다 처리 효율이 떨어질 수 있다.
하위 바이트가 먼저 저장된다.
x86 아키텍처가 이틀엔디언을 쓰고, 이를 인텔 포맷이라고 한다.
장점) 빅 엔디안에 비해 저수준 수학 연산에 유리하다. (하위 바이트부터 연산을 시작하기 때문)
단점) 사람의 직관과는 맞지 않을 수 있다.
그런데 오늘날의 프로세서는 여러개의 바이트를 동시에 읽어들여 동시에 덧셈을 수행하는 구조를 갖고 있어 두 엔디언 사이에 사실상 차이가 없다고 한다. (::)
GPT said :
오늘날의 프로세서는 여러 개의 바이트를 동시에 읽고, 덧셈 같은 연산을 병렬로 처리할 수 있는 병렬 처리 기능(Parallel Processing)과 벡터 연산(SIMD, Single Instruction Multiple Data)을 지원하는 고급 아키텍처를 갖추고 있습니다. 이런 프로세서들은 사실상 리틀 엔디안과 빅 엔디안 사이에서 성능 차이가 거의 없을 수 있습니다.
뭐 근데.. 이미 만들어져있던 것들때문에 엔디안을 맞춰줘야하긴 하는 것 같다. (뭐 쓸일이 없으니까 알길이 없네.. )