본문 바로가기

SYSTEM

리틀엔디안, 빅엔디안

728x90
반응형

 

▶엔디안이란?

컴퓨터의 메모리와 같은 1차원 공간에 여러 개의 연속된 대상을 배열하는 방법, 바이트 순서


리틀엔디안
빅엔디안
단위
작은 단위가 앞에 나옴
큰 단위가 앞에 나옴
0x1234
34 12
12 34
장점
메모리의 값을 보는데 편안함
별도의 계산 필요 x
(메모리에 저장된 값의 하위 바이트만 사용)
숫자 비교

리틀 엔디안보다 빠름
수치 계산
빅 엔디안보다 빠름

스택
뒤에서부터 스택 PUSH
앞에서부터 스택 PUSH

 

<Why?>

빅 엔디안 – 사람이 숫자를 읽고 쓰는 방법과 같기에 디버깅 과정에서 메모리의 값을 보는데 편안함

리틀 엔디안 - 32비트 숫자를 리틀 엔디언으로 표현했을 때 바이트를 떼어내는 방식으로 하위 16비트, 8비트를 바로 얻을 수 있기에 별도의 계산 필요 X

 

숫자 비교시 가장 큰 값이 들어가는 왼쪽부터 함 / 빅엔디안은 수치를 앞에서부터 스택에 집어넣기에 리틀 엔디안보다 속도가 빠름

수치 계산시 리틀 엔디안은 가장 낮은 자리수에 있는 숫자를 계산 → 자리 올림수가 있는지 없는지 판단하기에 빅엔디안보다 속도가 빠름

728x90
반응형

'SYSTEM' 카테고리의 다른 글

메모리 영역  (0) 2023.02.05
쉘코드를 널(\x00) 없이 제작 / getuid setreuid 추가  (0) 2023.01.05
함수 호출 규약 (Calling Convention)  (0) 2023.01.05
파일 디스크립터, 실습  (0) 2023.01.05
패킹, 언패킹  (0) 2023.01.05