3장 연습 문제 8번

7번과 마찬가지로 비트를 통해서 수의 음양을 판단하는 문제이다.

힌트로 최좌측 비트인 MSB가 1이면 음수, 0이면 양수라는 것이 주어졌다.

그래서 파이썬에서는 정수 자료형이 32 바이트 라는 것을 이용해서........

255 만큼 우측 시프트를 했다.

# -*- coding: cp949 -*-
a = input('Integer : ')

if a == 0 :
   print '0 입니다.'
else :
   a = a >> 255
   if a == 0 :
       print '양수 입니다.'
   else :
       print '음수 입니다.'
양수라면 255 만큼 우측 시프트를 하면 앞쪽이 모두 0으로 채워지기 때문에 값은 0이 된다.

댓글 없음:

댓글 쓰기