1
\$\begingroup\$

Problem Statement

You will be given a list of 32 bits unsigned integers. You are required to output the list of the unsigned integers you get by flipping bits in its binary representation (i.e. unset bits must be set, and set bits must be unset).

Input Format

The first line of the input contains the list size T, which is followed by T lines, each line having an integer from the list.

Constraints

\$1≤T≤100\$

\$0≤integer<2^{32}\$

Output Format

Output one line per element from the list with the requested result.

Solution

for _ in range(int(raw_input())):
    N = int(raw_input())
    N = N & 0xffffffff # 32 bit representation
    print N ^ 0xffffffff

Hint: https://stackoverflow.com/a/16745422/4260745

\$\endgroup\$
  • 1
    \$\begingroup\$ This code works fine for me. Have it here on ideone too: ideone.com/zvLAXx \$\endgroup\$ – rolfl Sep 24 '15 at 10:34
2
\$\begingroup\$

There's not much to review; that said, the input is guaranteed to be between zero and \$2^{32}\$, so there is no point to the N & 0xffffffff really. Also the print statement would be more upwards compatible with Python 3 if it was used like a function, i.e. print(...).

\$\endgroup\$
  • \$\begingroup\$ No! It doesn't work without converting it to 32bit. Please check once. \$\endgroup\$ – CodeYogi Sep 26 '15 at 13:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.