다음 문제에 대한 알고리즘을 작성하려고합니다.비트 플립 알고리즘 작성
문제 선언.
32 비트 부호없는 정수 목록이 제공됩니다. 이진 표현으로 비트를 뒤집어서 얻은 부호없는 정수 목록을 출력해야합니다 (즉, 설정되지 않은 비트를 설정해야하며 설정 비트는 설정 해제해야합니다).
가def bit_flip(a):
return ~a & 0xffffffff
t = raw_input("")
a = map(int, t.split())
map(lambda x: x^0xffffffff, a)
for i in a:
print bit_flip(int(i))
입력이
3
2147483647
1
0
내가 출력
될 것으로 예상되는 반면 4,294,967,292이다 얻는 출력된다 : 다음
코드는
**2147483648
4294967294
4294967295**
내가 잘못 된 곳인지 잘 모르겠습니다. 출력은 출력의 적어도 한 행에 가깝지만 동일하지는 않습니다.
예상되는 출력에 대한 입력은 무엇입니까? 그것은 각 숫자에 대해 비트를 두 번 뒤집을 것입니다 (한 번'''와''bit_flip'). – Cameron
해커 크랭크 문제가 아닌가요? – AlG
예. 방금 기본 파이썬 수업을 마쳤습니다. 잠시 동안이 문제에 봉착했습니다. – sanster9292