[빅/리틀 엔디언]
빅 엔디언 : 작은 단위가 앞으로 온다.
리틀 엔디언 : 큰 단위가 앞으로 온다.
미들 엔디언 : 두 경우에 속하지 않거나 둘을 모두 지원하는 경우
저장 방식
10진수 빅 엔디언 리틀 엔디언
0 0x00000000 0x00000000
1 0x00000001 0x01000000
2 0x00000002 0x02000000
표현 _ 0x12345678
- 빅 엔디언 : 12 34 56 78
- (높은주소 ---- 낮은주소)
- 리틀 엔디언 : 78 56 34 12
- (낮은주소 ---- 높은주소)
- 미들 엔디언 : 34 12 78 56 or 56 78 12 34
장점
- 빅 엔디언 : 디버그를 편하게 해준다 (메모리의 값을 보기가 편함)
ex) 0x59654148 : 59 65 41 48
- 리틀 엔디언 : 메모리에 저장된 값의 하위 바이트들만 사용할 때 별도의 계산이 필요 없다.
ex) 0x2A : 2A 00 00 00
빅 엔디언의 특징
- Unix의 RISC 계열의 프로세서가 사용하는 바이트 오더링
- 네트워크통신(TCP/IP)에서 사용하는 바이트 오더링
- 앞에서부터 스택에 PUSH [MSB(Most Significant Byte), 최상위 바이트부터 저장]
- 비교연산에서 리틀 엔디언보다 속도가 빠름
리틀 엔디언의 특징
- Intel 계열의 프로세서가 사용하는 바이트 오더링
- 뒤에서부터 스택에 PUSH [LSB(Least Significant Byte) 최하위 바이트부터 차례대로 저장]
- 계산연산에서 빅 엔디언보다 속도가 빠름
'Security_ > etc' 카테고리의 다른 글
[운영체제] 인터럽트 벡터(Interrupt Vector) / 인터럽트 벡터 테이블 (Interrupt Vector Table) (1) | 2021.09.27 |
---|---|
[Linux] vim 설치 및 설정 (0) | 2019.10.16 |
[etc] 쉘 코드 모음 (1) | 2018.10.03 |
[etc] Stack? (0) | 2018.10.01 |
[etc] 메모리(Memory) 구조 (0) | 2018.04.29 |
댓글