What does the following java function perform? (Assume int occupies four bytes of storage)
Public static int f(int a)
{
//Pre-conditions: a>0 and no overflow/underflow occurs
int b = 0;
for(int i=0; i<32; i++)
{
b=b <<1;
b= b | (a & 1);
a = a >>> 1; // This is a logical shift
}
return b;
}1
Return the int that represents the number of 0’s in the binary representation of integer a.
2
Return the int that represents the number of 1’s in the binary representation of integer a.
3
Return the int that has the reversed binary representation of integer a.
4
Return the int that has the binary representation of integer a.