conversion d'une chaine de caractère en un entier unique - C - Programmation
Marsh Posté le 10-12-2004 à 11:30:12
Qu'est-ce que tu entends par 'entier unique'?
Marsh Posté le 10-12-2004 à 15:52:42
(c'est pour ça que je posais la question... )
Marsh Posté le 10-12-2004 à 20:44:48
Si tu ne specifie pas mieux ton probleme, on ne peut repondre que "oui, il existe une bijection entre l'ensemble des chaines de caracteres et l'ensemble des entiers naturels". Ce qui ne t'aide pas beaucoup puisque ce ne sont pas des ensembles de cardinal fini.
Marsh Posté le 11-12-2004 à 09:05:02
skeye a écrit : |
par entier unique g voulu dire que deux chaine de caractères différentes doivent donner deux entiers différents
Marsh Posté le 11-12-2004 à 09:07:09
ReplyMarsh Posté le 11-12-2004 à 09:10:08
Emmanuel Delahaye a écrit : Ah, ou un hash code ? Google est ton ami... |
je pense qu'un hash code ne me garantie pas l'unicité du résultat. en fait je veux une fonction bijective : 1-to-1, a map function
Marsh Posté le 11-12-2004 à 09:19:14
ReplyMarsh Posté le 11-12-2004 à 09:28:12
matafan a écrit : Si tu ne specifie pas mieux ton probleme, on ne peut repondre que "oui, il existe une bijection entre l'ensemble des chaines de caracteres et l'ensemble des entiers naturels". Ce qui ne t'aide pas beaucoup puisque ce ne sont pas des ensembles de cardinal fini. |
mon problème consiste à convertir plusieurs (des milliers) des URL representés, bien sûr, par des chaînes de caractères "http://www.hardware.fr" par exemple en des entiers uniques dans le sens où deux chaine différentes doivent me donner deux entiers différents: une bijection qu'il me faut.
Marsh Posté le 11-12-2004 à 09:30:49
Emmanuel Delahaye a écrit : strtol() |
mais ces deux fonctions convertissent des chaines de carcactères qui contiennent uniquement des chiffres, mais mon problème est que je veux passer d'une chaîne de caractères alphanumérique à un entier unique.
Marsh Posté le 11-12-2004 à 09:55:22
ssou a écrit : mon problème consiste à convertir plusieurs (des milliers) des URL representés, bien sûr, par des chaînes de caractères "http://www.hardware.fr" par exemple en des entiers uniques dans le sens où deux chaine différentes doivent me donner deux entiers différents: une bijection qu'il me faut. |
C'est typiquement le genre d'information qu'il aurait été utile de poster dès le début. Ca aurait éviter bien des hésitations (réponses erronées effacées).
Je suis d'accord qu'un CRC16, voire un CRC32 (ça dépend du nombre de millers de chaine) devrait faire l'affaire, sachant que, à ma connaissance, la bijection absolue ne sera pas garantie. Le taux d'erreur doit pouvoir se calculer, mais il dépasse largement mes faibles compétences mathématiques (si j'ai bien suivi, c'est plutôt du boulot pour 'matafan'...)
Marsh Posté le 11-12-2004 à 10:50:38
ReplyMarsh Posté le 11-12-2004 à 10:55:08
Emmanuel Delahaye a écrit : C'est typiquement le genre d'unformation qu'il aurait été utile de poster dès le début. Ca aurait éviter bien des hésitations. |
merci, je vais essayer ça
Marsh Posté le 10-12-2004 à 11:24:13
Bonjour à tous,
je me demande s'il y a une façon et pas nécessairement une fonction prête pour convertir une chaine de caractères en un entier unique.
merci d'avance.
ssou