본문 바로가기
Security_/etc

[etc] 빅/리틀 엔디언 #비교

by 낭람_ 2018. 8. 24.
반응형

[빅/리틀 엔디언]


빅 엔디언 : 작은 단위가 앞으로 온다.

리틀 엔디언 : 큰 단위가 앞으로 온다.

미들 엔디언 : 두 경우에 속하지 않거나 둘을 모두 지원하는 경우


저장 방식

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) 최하위 바이트부터 차례대로 저장]

- 계산연산에서 빅 엔디언보다 속도가 빠름

반응형

댓글