125 views

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 & i);
a=a >>>1; // This is logical shift
}
return b;
}
1. Returns the int that has the binary representation of integer a
2. Return the int that has reversed binary representation of integer a
3. Return the int that  represents the number of $1$’s in the binary representation of integer a
4. Return the int that represents the number of $0$’s in the binary representation of integer a
in Others
edited | 125 views
0

option B.

Note that <<< is logical shift Right ===> sign extension doesn't takes place