Maison > Article > développement back-end > Comment générer des nombres uniques et déterministes avec un mappage 1:1 ?
Objectif
Générer une fonction déterministe qui mappe les nombres d'entrée à des nombres uniques afficher des nombres dans une plage spécifiée, sans duplication.
Méthode
Utiliser l'arithmétique modulaire basée sur le chiffre affine :
Paramètres :
Exemple pour uint64
Fonction de transformation :
func transform(p uint64) uint64 { return m * p + s // implicitly mod'd 2^64 by the type's size }
Exemple avec int64
Pour les nombres signés, convertissez l'entrée et la sortie entre uint64 et int64 pour conserver le mappage unique :
func signedTransform(p int64) int64 { return int64(transform(uint64(p))) }
Garanties
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!