 uint GrayToBinary(uint num)

// A more efficient version for Gray codes 32 bits or fewer through the use of SWAR (SIMD within a register) techniques.// It implements a parallel prefix XOR function.The assignment statements can be in any order.