Wie erhalte ich die nächste Zweierpotenz einer gegebenen Zahl?
Beispielsweise erhalte ich die Nummer 138, die nächste POT-Nummer ist 256.
Ich empfange die Nummer 112, der nächste POT ist 128.
Ich muss einen Algorithmus machen, der das berechnet
Danke
Ein wirklich schlauer Programmierer würde sich die Methode java.lang.Integer.highestOneBit(int)
ansehen und den Linksverschiebungsoperator ( <<
) betrachten.
Wenn angenommen wird, dass die Eingabe eine positive ganze Zahl ist, wäre eine unkonventionelle Lösung, das Bitmuster der Zahl zu betrachten. Finde die erste "1" von links und denke dann über den Wert des Bits links davon nach.
Tags und Links language-agnostic java bit-manipulation