Nächts höhere 2er Potenz
-
Hallo zusammen
Gibt es eine rechnerische Möglichkeit (keine Schleifen), um die nächst höhere 2er Potenz zu einer beliebigen positiven Zahl x zu finden? Gibt es hierfür möglicherweise auch eine mathematische Notation?Lg Ishildur
-
2^abrunden(ln(x)/ln(2)+1)
oder falls aus 256 nicht 512 werden soll
2^aufrunden(ln(x)/ln(2))
und falls es für ein programm sein soll, möglicherweise gefällt dir da der prozessorbefehl BSR.
-
Die mathematische Notation vom Auf- und Abrunden ist die Gaußklammer. Wenn es dir um das Ausrechnen im Rechner geht, das machst du wohl am Besten so, ohne Logarithmus.
-
@.filmor
Aber ist die Gaussklammer nicht zum auf- bzw. abrunden auf die nächst grössere bzw. kleinere Ganzzahl gedacht? Ich möchte ja aber beschreiben, dass es die nächst höhere 2er Potenz sein soll
-
http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2
edit: grrr hat filmor schon (versteckt) gepostet
-
Ishildur schrieb:
Aber ist die Gaussklammer nicht zum auf- bzw. abrunden auf die nächst grössere bzw. kleinere Ganzzahl gedacht? Ich möchte ja aber beschreiben, dass es die nächst höhere 2er Potenz sein soll
Ja, das war nur, damit du volkards Beitrag mathematisch "korrekt" notieren kannst. Allgemein gebräuchlich ist nebenbei auch ld für den Zweierlogarithmus (statt ln(x)/ln(2)).