@@hotti:
nuqneH
siehe Thema. Beispiel 15: das sehe ich sofort, die braucht 4 Bit. Aber was ist mit "beliebigen" Zahlen (mit max 32 Bit), muss ich da eine Schleife bauen oder geht das vielleicht auch ein bischen zackiger?
Wieviel Stellen braucht denn 42 im Dezimalsystem? Ab welcher Zahl benötigst du eine Stelle mehr? Ab der nächsten Zehnerpotenz: 100 = 10² benötigt 3 = 2 + 1 Stellen. Jede Zahl m · 10² mit 1 ≤ m < 10 benötigt 3 Stellen.
Allgemein: eine Zahl a = m · 10ⁿ mit 1 ≤ m < 10 benötigt n + 1 Stellen. Wie kommt man nun an n, wenn a gegeben ist? Beide Seiten logarithmieren:
lg a = lg m + n
n = lg a - lg m
Wegen 1 ≤ m < 10 ist 0 ≤ lg m < 1. Also
n = floor(lg a)
Wenn du die Stellenanzahl jetzt nicht fürs Dezimalsystem, sondern fürs Dualsystem haben willst, ist die Überlegung dieselbe. Nur anstatt der Basis 10 die Basis 2, folglich anstatt der Zehnerlogarithmus den Logarithmus zur Basis 2.
Qapla'
--
Bildung lässt sich nicht downloaden. (Günther Jauch)