Big Endian(빅엔디안) 구조에서 0x12345678이라는 4바이트 변수를 저장하여 1바아트만 출력 할때의 값은?

jouonal의 이미지

Big Endian(빅엔디안) 구조에서 0x12345678이라는 4바이트 변수를 저장하여 1바아트만 출력 할때의 값은?

int a = 0x12345678;
char* pc = &a;
printf("%x\n", *pc);

이 구문을 실행할 경우, 리틀 엔디안에서는 (낮은주소)78563412 (높은주소) 이렇게 저장되어 출력값이 78이 되는데요

그럼 빅엔디안에서는 변수값이 (낮은주소)12345678 (높은주소) 이렇게 저장되어 출력값이 12가 되나요?

chanik의 이미지

그렇습니다.

참고 : http://ko.wikipedia.org/wiki/%EC%97%94%EB%94%94%EC%96%B8

   종류		0x1234의 표현	0x12345678의 표현
-----------     -------------   -----------------
빅 엔디언	12 34		12 34 56 78
 
리틀 엔디언	34 12		78 56 34 12
 
미들 엔디언	-		34 12 78 56
				    또는
				56 78 12 34