본문 바로가기
Reversing/개념정리

[어셈블리어] 빅엔디안, 리틀엔디안

by jh117jh 2024. 4. 19.
728x90

 

데이터는 낮은 주소에서 높은 주소로 차례대로 저장한다

하지만 읽고 저장하는 과정에서 읽는 방법의 차이가 있다.

 

그것이 리틀엔디안과 빅엔디안이다.

 

우선 상위 자리부터 먼저 저장하는 방식을 빅엔디안이라고 한다.

 

만약 16진수로 3B를 저장한다고 해보자 

2진수로 표현했을 때 00111011이 된다.

 

이를 상위자리부터 낮은 주소에 넣으면 00111011로 우리가 읽고 쓰는 방식과 동일하게 읽을 수 있다.

 

반대로 

 

하위자리부터 낮은 주소에 넣으면 11011100이 되는데 이 방식이 리틀엔디안 방식이다.

 

 

읽을때도 각 방식에 맞게 읽어주면 된다.

 

하지만 리틀엔디안방식과 빅엔디안방식이 섞여서 쓰이면 데이터를 저장하고 해석하는데 오류가 발생하여 데이터 변형이 일어난다.

이러한 문제로 네트워크에서는 빅엔디안 방식을 사용하는 것으로 통일되었고

우리가 흔히 사용하는 인텔 CPU에서는 리틀엔디안 방식을 사용한다.

728x90

'Reversing > 개념정리' 카테고리의 다른 글

[어셈블리어] 명령어와 피연산자  (0) 2024.04.12
[개념정리] Reversing 개념  (0) 2024.04.04