Frage

Ich habe vergessen, wie ich das tut.Wie finde ich heraus, was die Anforderungen für eine 128-Bit-Zeichenfolge mit einem bestimmten Alphabet dienen?

Das heißt, ich möchte einen UUID-Wert (128-Bit) generieren, wobei nur die 10 Nummern für das Alphabet verwendet werden.Wie viele Zahlen brauche ich, und was ist die allgemeine Gleichung, damit ich das für jedes Alphabet jeder Größe herausfinden kann?

Was ist die Gleichung für jeden N-Bit-Wert mit einem beliebigen X-Letter-Alphabet?

Die Art, wie ich es tue, ist es, sich zu erraten und langsam zu iterieren, bis ich mit einer engen Zahl ankomme.Für Mächte von 10 ist es einfach:

generasacodicetagpre.

Für andere Zahlen dauert es etwas mehr Erraten.Würde gerne die Gleichung dafür wissen.

War es hilfreich?

Lösung

Um die Anzahl der Dezimalstellen zu schätzen, die erforderlich sind, um einen $ 128 $ Bitnummer "Sie verwenden, verwenden Sie Logarithmen an Basis $ 10 $ :

$ 128 \ times \ log_ {10} (2) \ ca. 38,53 $

Sie benötigen also $ 39 $ Dezimaltziffern, um einen $ 128 $ Bitnummer darzustellen.

In einem Allgemeinen, für ein "Alphabet" mit $ N $ Symbole Sie müssen den Wert von $ 128 \ findenTimes \ log_n (2) $ und runden Sie diese bis zur nächsten ganzen Zahl um.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top