Permet de voir si un de algorithme est une puissance de 2. Ce qui permet d'utiliser des algorithme de transformations rapides tels que les ondelettes ou FFT.
Source / Exemple :
bool CxImage::IsPowerof2(long x)
{
long i=0;
while ((1<<i)<x) i++;
if (x==(1<<i)) return true;
return false;
}
25 mars 2004 à 16:20
donc elle font rarement mais de 128 de résolutions
25 mars 2004 à 15:54
Et tu n'a pas de différence de perf ? étrange, mais je n'insiste pas.
Autre point à explorer sur le sujet.
Ta méthode est boguée ;-)
imaginons que nous n'ayons que des octets à dispo (8 bits)
soit le 0 - 255. 2^7 -> 128, si tu appelles ta fonction avec
un nombre supérieur à 128, tu vas avoir 128 < x, tu vas shifter
une fois de plus or 2^8->dépassement tu retombres à 0, et tu bloucles. (1<<8)0, (1<<9) 0,...
Le même raisonnement est applicable pour les longs.
Sauf erreur de ma part évidement.
25 mars 2004 à 13:06
25 mars 2004 à 10:18
est optimisé dans les deux cas.
Je n'ai pas trouvé un compilo me donnant la même performance
pour les deux codes.
Sauf peut être le tien. (j'ai pas encore VC .NET 2003, je ferai
les tests avec celui-là aussi).
25 mars 2004 à 09:41
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.