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 oveflow/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;
}
- Returns the int that has the binary representation of integer a
- Return the int that has reversed binary representation of integer a
- Return the int that represents the number of $1$’s in the binary representation of integer a
- Return the int that represents the number of $0$’s in the binary representation of integer a