à chaque string un unique entier
Bonjour!
Alors voilà, je suis en train chercher un algo intelligent pour coder une chaine de caratere en un unique entier, de telle sorte que deux string differentes n'est jamais le meme code.
Par exemple "ab" ne doit pas avoir le meme code que "ba".
J'avais eu l'idée de coder de la sorte:
"abc..." = (code_ascii a)*2^0 + (code_ascii b)*2^1 + (code_ascii c)*2^2 + ....
mais le pb est que des que la chaine est trop grande, ca dépasse la capacité d'un entier, qui est limité à 31bits (en ocaml)
Existe t il un autre moyen d'associer un unique entier (pas trop grd) à une chaine?
merci d'avance!
Re: à chaque string un unique entier
Citation:
Envoyé par Mr_Chut
Bonjour!
Alors voilà, je suis en train chercher un algo intelligent pour coder une chaine de caratere en un unique entier, de telle sorte que deux string differentes n'est jamais le meme code.
Par exemple "ab" ne doit pas avoir le meme code que "ba".
J'avais eu l'idée de coder de la sorte:
"abc..." = (code_ascii a)*2^0 + (code_ascii b)*2^1 + (code_ascii c)*2^2 + ....
mais le pb est que des que la chaine est trop grande, ca dépasse la capacité d'un entier, qui est limité à 31bits (en ocaml)
Existe t il un autre moyen d'associer un unique entier (pas trop grd) à une chaine?
merci d'avance!
Tu as le module Int64 sous ocaml qui te fournis des entier sur 64 bits mais ca ne fait que repousser un peu le problème.
As-tu absolumeent besoin d'un entier ? Un empreinte SHA1 par exemple ne pourrait pas convenir ?