Hello all,
func(int* a, int b)
{
while((*a&(1 << b))==0);
}
Can someone tell me the hidden purpose of this code?
|
Go4Expert Founder
|
![]() |
| 29Sep2010,08:34 | #2 |
|
Depending on the values of a and b it will execute.
|
|
Mentor
|
![]() |
| 2Oct2010,12:52 | #3 |
|
It will either do nothing (if *a & (1<<b) is zero) or hit an infinite loop (if *a & (1<<b) is non-zero).
Best bet is to go after whoever wrote that code and give them a good LARTing, or at least ask them what the point of the function was, because they've almost certainly coded it wrong. *IF* the function is within a multithreaded program and some other thread is modifying *a, then it might be useful - it would wait until the b-th bit of *a is clear. But this is a terrible way of doing it because it uses 100% CPU until that is done. |


