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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!