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;

Antworten auf die Frage(12)

Ihre Antwort auf die Frage