Quel est cet algorithme ?
Couin Couin :)
Je travaille sur une appli permettant de communiquer avec des équipements en infrarouge, afin de "remplacer" l'utilisation d'un Palm et du logiciel constructeur.
Dans le logiciel d'origine, il y a une fonction permettant de lire le numéro de série de la carte électronique de l'équipement.
La communication se fait en infra rouge.
Les codes envoyés ou reçus commencent toujours par 16 2 et finissent par 16 3 (c'est du décimal). Je ne les mets donc pas dans l'exemple ci dessous.
J'ai beau chercher, je ne trouve pas l’algorithme permettant de convertir le code reçu en numéro de série (que l'on peut lire avec la version Palm)
Numéro de série : 1343611856 - Code reçu : 0 51 2 8 123
Numéro de série : 1627455751 - Code reçu : 0 7 4 11 74
Numéro de série : 184813312 - Code reçu : 7 1 1 97 36
Numéro de série : 738199303 - Code reçu : 7 7 0 44 110
Numéro de série : 989923079 - Code reçu : 7 7 1 59 120
Plusieurs cerveaux valant mieux qu'un , si l'un de vous a une idée , je suis preneur :D
Merki et bon ouiK !
Couin
Quel est cet algorithme ?
Bonjour, :D
Le fait qu'aucun des 5 termes des séquences de code ne dépasse 123
Citation:
Numéro de série : 1343611856 - Code reçu : 0 51 2 8 123
Numéro de série : 1627455751 - Code reçu : 0 7 4 11 74
Numéro de série : 184813312 - Code reçu : 7 1 1 97 36
Numéro de série : 738199303 - Code reçu : 7 7 0 44 110
Numéro de série : 989923079 - Code reçu : 7 7 1 59 120
pourrait renvoyer à un système de numération à base 128.
Et - si rien n'empêche d'être encore plus sournois - pourquoi ne pas envisager une suite de bases arbitrairement choisies (B1, B2, B3, B4, B5) ?
Il faudrait disposer de paires de données relativement proches, pour avoir une idée de la correspondance entre code et numéro de série, et c'est loin d'être le cas ...
La comparaison des couples (2) et (3)
Citation:
Numéro de série : 1627455751 - Code reçu : 0 7 4 11 74
Numéro de série : 184813312 - Code reçu : 7 1 1 97 36
montre qu'il ne peut s'agir d'un changement de base.
Le numéro de série, qui ne dépasse pas 231 - 1 = 2 147 483 647 , pourrait être un entier au format LongInt. On pourrait envisager une séquence pseudo-aléatoire de longue période, construite sur un nombre premier ~ 231 .
Je crois qu'il intervient de l'arithmétique modulaire ... et la solution n'est pas près d'être trouvée, à moins d'une intuition géniale de la part d'un intervenant :aie:
PS: Justement, 2147483647 est premier, ce qui pourrair conduire à une séquence de nombres variant de 1 à (N - 1) ...