2007년 7월 25일 수요일

[퀴즈] 118 = 1979711488 ?

상현이는 최신 코어 2 듀오 CPU가 장착된 PC를 새로 구입한 기념으로 C# 프로그램을 하나 작성했습니다.

4바이트 짜리 int 데이터를 Java로 작성된 프로그램에 TCP/IP를 이용하여 보내는
간단한 프로그램('클라이언트'라고 합시다.)이지요. Java로 작성된 프로그램 역시
패킷을 받아 패킷에 담긴 데이터를 콘솔에 출력하기만 하는 단순한 프로그램('서버'라고
합시다.)이고요. 서버는 옛날에 구입한 센트리노 CPU가 장착된 노트북에 설치되었습니다.

상현이는 순식간에 코드를 작성해서 컴파일을 마쳤습니다. 그리고
클라이언트와 서버 프로그램을 띄우고 클라이언트에서 118(10진수)을 보냈습니다.

그런데 믿을 수 없는 일이, 아니 믿고 싶지 않은 일이 일어났습니다. 서버에서는
1979711488(10진수)를 출력한 것입니다.

무슨 일이 일어난 것일까요? (힌트: 118과 1979711488를 16진수로 바꿔 보세요)

댓글 4개:

  1. C# 프로그램과 Java 프로그램이 바이트 오더가 다른것이 답이겠네요.

    가끔 와서 구경하는 구경하는 구경꾼이였슴다.



    ps. 네트웍프로그램이라면 네트웍 바이트 오더로 바꿔서 보내주고 받아서 로컬바이트 오더로 바꿔서 사용하면 시스템에 상관없이 사용할 수 있었을것 같네요. ㅎㅎㅎ 정답 맞나요??



    상품주세요~

    답글삭제
  2. @zoops - 2007/07/26 11:02
    정답입니다.



    제가 요즘 내년에 태어날 아기 분유값을 버느라 상품을 미처 마련하지 못했습니다. ㅋㅋ 가끔 놀러와 주세요. ^^



    저도 zopps님 블로그에 종종 들르겠습니다.

    답글삭제
  3. ㅎㅎ 내년에 아기가 태어난다니... 넘 부럽습니다.

    전 열심히 노력중입니다.. ㅠ.ㅠ 이쁘고 똑똑한 아기 태어나길 기도하겠습니다.



    요새는 포스팅을 잘 안해서.. ^^ 이제부터라도 좀 해야겠네요.. ^^



    ps. zopps 가 아니라 zoops 예요. ^^

    답글삭제
  4. @zoops - 2007/07/27 14:25
    아이고 zoops님 제가 실례를.. ^^;



    별로 안 똑똑해도 건강하기만 하면 좋겠습니다. ㅋㅋ

    zoops님도 곧 노력의 결실을 보실 겁니다~

    답글삭제