Define a function to create a lookup table of size 216 whose value is the parity bits of the index. code example

Example: Define a function to create a lookup table of size (2^1)*6 whose value is the parity bits of the index

class Main
{
    // Compute parity of a number `x` using the lookup table
    public static boolean findParity(int x)
    {
        // recursively divide the (32–bit) integer into two equal
        // halves and take their XOR until only 1 bit is left
 
        x ^= x >> 16;
        x ^= x >> 8;
        x ^= x >> 4;
        x ^= x >> 2;
        x ^= x >> 1;
 
        // return true if the last bit is set
        return (x & 1) == 1;
    }
 
    public static void main(String[] args)
    {
        int x = 15;
 
        System.out.println(x + " in binary is " + Integer.toBinaryString(x));
 
        if (findParity(x)) {
            System.out.println(x + " contains odd number of bits");
        }
        else {
            System.out.println(x + " contains even number of bits");
        }
    }
}

Tags:

Java Example