엔디언

엔디언은 컴퓨터 과학에서 데이터가 저장되는 방식을 설명하는 용어입니다. 구체적으로 여러 바이트로 구성된 데이터 형식에서 어느 쪽 끝에 가장 중요한 값이 포함되는지를 정의합니다. 엔디언에는 빅 엔디언과 리틀 엔디언이라는 두 가지 유형이 있습니다.

빅 엔디언

빅 엔디언은 이진 데이터를 저장하는 가장 일반적인 방식입니다. 가장 중요한 값(또는 가장 큰 값)을 먼저 배치한 다음 덜 중요한 값들을 배치합니다. 예를 들어 정수 123을 빅 엔디언으로 표현하면 백의 자리 값(1)을 먼저 배치하고, 그다음 십의 자리 값(2), 일의 자리 값(3)을 배치하므로 [123]이 됩니다.

리틀 엔디언

리틀 엔디언은 가장 덜 중요한 값을 먼저 저장한 다음 점점 더 중요한 값들을 저장합니다. 예를 들어 숫자 123을 리틀 엔디언 표기법으로 나타내면 [321]입니다. 문자열 "ABC"는 [CBA]로 표현됩니다.

엔디언 변환

대부분의 경우 개발자는 엔디언을 지정할 필요가 없습니다. 컴파일러가 특정 플랫폼에 맞는 올바른 데이터 유형을 생성하기 때문입니다. 그러나 프로그램에서 외부 입력을 처리해야 할 수 있습니다. 예를 들어 데이터가 다른 엔디언으로 저장된 파일 형식이 이에 해당합니다. 이 경우 데이터를 리틀 엔디언에서 빅 엔디언으로 또는 그 반대로 변환해야 합니다.

엔디언을 변환하는 작업은 데이터를 단순히 뒤집는 것만큼 간단하지 않습니다. 비트가 아니라 바이트를 뒤집어야 합니다. 다시 말해 각 바이트(또는 8비트 블록) 자체는 그대로 유지하고 바이트의 순서를 바꿔야 합니다. 이는 데이터의 16진수 또는 이진 표현을 사용해 설명할 수 있습니다.

예를 들어 정수 41,394는 빅 엔디언 표기법으로 다음과 같이 표현됩니다:

16진수: A1B2
이진수: 1010000110110010

이 데이터를 리틀 엔디언으로 변환할 때는 데이터를 뒤집는 것이 아니라 데이터 안의 개별 바이트를 뒤집습니다. 16진수에서는 각 바이트를 두 자리로 표현하므로 [A1][B2]가 되고, 이진수에서는 8자리로 표현하므로 [10100001][10110010]이 됩니다.

따라서 41,394의 리틀 엔디언 표현은 다음과 같습니다:

16진수: B2A1
이진수: 1011001010100001

NOTE: 일부 프로세서는 변환 없이 빅 엔디언 또는 리틀 엔디언 방식으로 데이터를 가져올 수 있습니다. 이를 양방향 엔디언 데이터 액세스라고 합니다.

업데이트됨 September 27, 2019 작성: Per C.

quiz지식 테스트하기

Hardware that can be used for multiple purposes might be described as what?

A
Scalable
0%
B
Flexible
0%
C
Extensible
0%
D
Portable
0%
Correct! Incorrect!     View the Flexible definition.
More Quizzes →

Tech Terms 컴퓨터 사전

이 페이지의 엔디언에 대한 정의는 TechTerms.com의 저자가 작성한 원본 정의입니다. 이 페이지를 참조하거나 이 정의를 인용하려면 정의 바로 아래에 있는 녹색 인용 표시줄을 사용하세요.

저희의 목표는 컴퓨터 용어를 이해하기 쉬운 방식으로 설명하는 것입니다. 게시하는 모든 정의에서 정확성과 간결함을 추구합니다. 이 정의에 대한 피드백이 있거나 새로운 기술 용어를 제안하고 싶으시면 문의해 주세요.

Tech Terms 뉴스레터

매일 또는 매주 발행되는 뉴스레터로 기술 지식을 향상시키세요! 지금 구독하고 새로운 용어와 퀴즈를 이메일로 받아보세요.

무료 TechTerms 뉴스레터 구독하기

이메일을 얼마나 자주 받고 싶으신가요?

각 이메일에 포함된 링크를 통해 언제든지 구독을 취소하거나 수신 빈도를 변경할 수 있습니다. 질문이 있으신가요? 문의해 주세요.

참고: 뉴스레터는 영어로 발송됩니다.