Question: how does the following code work? Can you run me through an example using int x as 5, 0 and 8. How does this code
how does the following code work? Can you run me through an example using int x as 5, 0 and 8.
How does this code determine if int x is a power of 2 every time?
int isPower2(int x) {
int mask = 0x01;
int zero = (!x << 31) >> 31;
int oneb = (~( x & (~x + 1)) | (mask << 31) ) & x;
return (!oneb)&(~zero);
}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
