페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#1419

엔디안 1초 64MB

문제

Lilliput의 사람들은 삶은 계란을 먹을 때 계란의 넓은 쪽부터 깨야 한다는 Big Endian파와 

좁은 쪽부터 깨야 한다는 Little Endian 파로 나뉘어서 싸우고 있었다.

이 싸움은 삶은 계란 뿐만 아니라 생활 속의 다른 분야에까지 확대되었는데, 

그 중 대표적인 것으로 컴퓨터에서 사용하는 데이터의 저장 방법이다.

Big Endian 파에서는 숫자를 저장할 때 위쪽 바이트부터 먼저 저장하는 방식이 옳다고 주장하였으며, 

Little Endian 파에서는 아래쪽 바이트부터 먼저 저장하는 방식이 옳다고 주장하였다.

예를 들어 32bit unsigned int (0x0A1B2C3D)을 Big Endian과 Little Endian으로 메모리에 저장한 그림은 아래와 같다.

이 들은 각자 자신이 주장하는 방식으로 컴퓨터를 만들어서 사용하였는데, 

두 파의 사람들이 서로 데이터를 주고 받을 필요가 있을 경우 (항상 싸우기만 하는 것은 아니다.) 

Big Endian으로 저장된 데이터를 그대로 Little Endian 방식으로 읽었을 경우, 

또는 반대의 경우에는 이상한 값이 되어버리기 때문에 Endian의 변환이 필요해진다. 

이 들은 자신이 Endian을 변환해서 데이터를 보내주는 것을 원하지 않았기 때문에 

일단 데이터를 받은 후에 자신들이 사용하는 Endian에 맞춰서 변환해야 한다. 

당신은 이들을 도와 Endian을 변환하지 않고 받은 데이터를 원래의 데이터로 복원해주는 프로그램을 작성해야 한다.

 


입력

입력은 하나의 숫자 (32bit unsigned int)로 이루어지며, 이는 Endian을 변환하지 않고 받아들인 데이터이다.


출력

입력에 대한 원래 데이터를 출력한다.


예제1

입력
2018915346
출력
305419896

예제2

입력
169552957
출력
1026300682

출처

uva

역링크