본문 바로가기
보안&네트워크/리눅스, 윈도우(OS 관련)

리틀엔디언 vs 빅엔디언

by kakk789 2022. 2. 11.

엔디언(Endianness)

컴퓨터의 메모리와 같은 1차원 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻함

 

예시 - 0x12345678을 각기 방식으로 표현한다면?

1. 빅엔디언(Big-Endian) 

- 최상위 바이트부터 차례로 저장하는 방식(MSB = Most Significant Byte)

-> 12 34 56 78

 

2. 리틀엔디언(Little-Endian)

- 최하위 바이트부터 차례로 저장하는 방식(LSB = Least Significant Byte)

-> 78 56 34 12

 

 

빅엔디언(Big-Endian)  리틀엔디언(Little-Endian)
- 사람이 숫자를 읽고 쓰는 방법과 같기 때문에
디버깅 과정에서 메모리 값을 보기 편함

- 숫자를 앞에서 부터 차곡차곡 스택에 집어 넣음

- 비교 연산이 빠름
- 숫자를 뒤에서부터 한 바이트씩 스택에 넣음

- 계산 연산이 빠름
WHY? 가장 낮은 자리수에 있는 숫자를 계산 후 자리 올림 수가 있는지 없는지 판단을 해야하는데, 리틀엔디언은 가장 낮은 자리수의 숫자가 가장 먼저 나오기 등장하기 떄문에 계산시에 속도가 더 빠름

 

 

참고

https://genesis8.tistory.com/37

반응형

댓글