Flipping Bits

Solusi untuk masalah berjudul Flipping Bits di HackkerRank.com.
Masalah bisa dilihat di: https://www.hackerrank.com/challenges/flipping-bits
Copyright milik HackkerRank

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

1T100 
0integer<232

Output Format

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

Sample Input

3 
2147483647 
1 
0

Sample Output

2147483648 
4294967294 
4294967295

Explanation

Take 1 for example, as unsigned 32-bits is 00000000000000000000000000000001 and doing the flipping we get 11111111111111111111111111111110 which in turn is 4294967294.

 

Solution

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {

    public static void main(String[] args) {
        /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
        Scanner in = new Scanner(System.in);
        
        long maxUnsign = (long)Integer.MAX_VALUE*2 + 1;
        
        int T = in.nextInt();
        
        for (int i=0; i<T; i++) {
        	long x = in.nextLong();
        	System.out.println( maxUnsign ^ x);
        }
    }
}


About Author

Amri Shodiq


Comment & Discussions

    Please LOGIN before if you want to give the comment.