avec l'assembleur c'est encore meilleur !
Code :
- unsigned int smallestGreaterOrEqualPowerOfTwo(unsigned int num)
- {
- if !(num & (num-1)) return num;
- __asm
- {
- bsr eax, num
- mov num, eax
- }
- return (1 << num);
- }
|
attention le cas ou num est déjà une puissance de 2 est un cas à part !
Message édité par jesus_christ le 04-05-2005 à 22:05:14