This program is made for 32 bit platform
The output is used to detect whether the input number is odd or even.
As we all know odd number contains 1 as LSB and even number contains 0 as LSB
eg. n = 5 (binary form 101)
k = 5<<31 //left sift 101 by 31 bit place
in 32 bit platform, integer can hold only 32 bit of information, therefore it will drop 10 and store 1 at MSB place.
(binary form 1000000000000000000000000000000)
therefore k = -2147483648 (in decimal form) which is non zero.
hence evaluated as true when evaluating through bitwise And operation and return output as 1.