나의 기록, 현진록

[OS] 엔디언이란? (리틀 엔디언, 빅 엔디언) 본문

-Computer Theory

[OS] 엔디언이란? (리틀 엔디언, 빅 엔디언)

guswlsdk 2017. 9. 25. 23:33
반응형

1. 엔디언


엔디언은 컴퓨터의 메모리와 같은 1차원 공간에 여러 개의 연속된 대상을 배열하는 방법이다.


바이트를 배열하는 방법을 바이트 순서라고 한다.



리틀 엔디언은 산술 연산과 데이터의 타입이 확장/축소될 때 더 효율적이라는 장점이 있다.


빅 엔디언과 리틀 엔디언으로 나눌 수 있다.


빅 엔디언 : 큰 단위가 앞


리틀 엔디언 : 작은 단위가 앞




2. 빅 엔디언


빅 엔디언은 소프트웨어의 디버그를 편하게 해 주고 사람이 보기에 직관적이라는 장점이 있다.


사람이 숫자를 읽고 쓰는 방법과 같고 메모리가 그대로 저장되기 때문에 디버깅 과정에서 메모리의 값을 보기 편하다.


Ex) 0x59654148  -> 59 65 41 48


이렇게 메모리 값은 빅 엔디언으로 보기 편하게 표현된다.


리틀 엔디언보다 속도가 빠르다.





3. 리틀 엔디언


리틀 엔디언은 포인터 값 참조가 쉽다는 장점이 있다.


사람은 보기 불편하지만 기계가 해석하기에 더 효율적이고 수치계산에 용이하다.


메모리에 저장할 때 하위 비이트부터 기록한다.


Ex) 0x59654148  -> 48 41 65 59


인텔 계열 CPU에 주로 사용 된다.



반응형

'-Computer Theory' 카테고리의 다른 글

[Linux] setuid  (0) 2018.01.17
[System] 변수의 메모리 주소 비교  (0) 2018.01.13
[OS] 리눅스 심볼릭 링크란?  (0) 2017.09.24
Linux / Unix의 커널(Kernel)과 쉘(Shell)  (0) 2017.09.24
기억장치 관리(미완성)  (0) 2017.09.24