본문 바로가기
Programming/Algorithm

My computer is using Little Endian Method

by OKOK 2017. 3. 9.

/*Endian_chk.c

*

*이진수 0000 0000 / 0000 0000 / 0000 0000 / 0000 0001,,(2),, 을 i에 저장한 후, 정수형 변수 i를 문자형 변수로 캐스팅한다.

*그렇게 하면 4바이트의 i는 1비트의 길이 4인 배열이 된다.

*이제 이 배열의 시작 주소를 읽는다.

*이 값이 1이면 가장 마지막 자리가 가장 작은 주소에 저장되어 있다는 것(0000 0001,,(2),,)이므로 Little Endian이다.

*이 값이 0이면 가장 큰 자리가 가장 작은 주소에 저장되어 있다는 것(1000 0000,,(2),,)이므로 Big Endian이다.

*/


#include <stdio.h>


int main()

{

int i = 0x00000001;


if (((char *)&i)[0])

{

printf("Littile Endian\n");

}

else

{

printf("Big Endian\n");

}

}


출처 : https://namu.wiki/w/%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90%EC%84%9C%EC%9D%98%20%EC%88%98%20%ED%91%9C%ED%98%84