Was ist der schnellste Weg, um die Anzahl der zum Speichern einer Zahl benötigten Bits zu berechnen
Ich versuche ein paar Routinen zum Packen und Entpacken zu optimieren. Um das Packen zu machen, muss ich die Anzahl der Bits berechnen, die zum Speichern von Ganzzahlwerten benötigt werden. Hier ist der aktuelle Code.
if (n == -1) return 32;
if (n == 0) return 1;
int r = 0;
while (n)
{
++r;
n >>= 1;
}
return r;