Question

J'ai oublié comment faire cela.Comment puis-je déterminer quelles sont les exigences pour une chaîne de 128 bits utilisant un certain alphabet?

C'est-à-dire que je veux générer une valeur UUID (128 bits), en utilisant uniquement les 10 numéros de l'alphabet.Combien de chiffres ai-je besoin et quelle est l'équation générale afin que je puisse comprendre cela pour n'importe quel alphabet de toute taille?

Quelle est l'équation de toute valeur N-bit avec un alphabet X-Letter?

La façon dont je le fais est de deviner et d'itération lentement jusqu'à ce que j'arrive à un numéro de proche.Pour les pouvoirs de 10, c'est facile:

Math.pow(2, 128)
3.402823669209385e+38
Math.pow(10, 39)
1e+39

Pour d'autres numéros, il faut un peu plus de devinement.Aimerait connaître l'équation pour cela.

Était-ce utile?

La solution

Pour estimer le nombre de chiffres décimaux nécessaires à la représentation d'un $ 128 $ Numéro de bit Vous utilisez des logarithmes sur la base $ 10 $ :

128 $ \ fois \ log_ {10} (2) \ environ 38.53 $

vous avez donc besoin 39 $ $ chiffres décimaux pour représenter une 128 $

Numéro de bit.

dans un général, pour un "alphabet" avec $ N $ symboles Vous devez trouver la valeur de 128 $Times \ log_n (2) $ puis autour du numéro entier suivant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top