Tes propres QR-Codes 1046 caractères sur TI-83 Premium CE
Posted: 27 Jun 2016, 17:48
Dans un article précédent, nous te sortions ZQRCODE, un programme d'affichage de QR Code pour ta TI-83 Premium CE.
Cet utilitaire ne permettait pas de saisir directement sur la calculatrice les données à coder, et travaillait sur une liste de nombres entiers lui étant fournie, et que tu pouvais générer gratuitement en ligne à partir du message de ton choix.
En mai dernier, nous te sortions même le tout premier programme TI-83 Premium CE à contenu enrichi par QR-Codes, un jeu de 1000 bornes dont les règles en français et en anglais étaient très facilement consultables par flashage du QR-Code affiché sur demande par la calculatrice !
L'outil d'affichage de QR-Code gérait une liste de nombres d'au plus 10 chiffres chacun, car codés sur 32-bits.
Les tailles valides de QR-Codes se comptant de 4 en 4 à partir de 21, nous étions limités à des QR-Codes de taille 29x29, ne permettant de stocker que 77 caractères alphanumériques.
Cet utilitaire ne permettait pas de saisir directement sur la calculatrice les données à coder, et travaillait sur une liste de nombres entiers lui étant fournie, et que tu pouvais générer gratuitement en ligne à partir du message de ton choix.
En mai dernier, nous te sortions même le tout premier programme TI-83 Premium CE à contenu enrichi par QR-Codes, un jeu de 1000 bornes dont les règles en français et en anglais étaient très facilement consultables par flashage du QR-Code affiché sur demande par la calculatrice !
L'outil d'affichage de QR-Code gérait une liste de nombres d'au plus 10 chiffres chacun, car codés sur 32-bits.
Les tailles valides de QR-Codes se comptant de 4 en 4 à partir de 21, nous étions limités à des QR-Codes de taille 29x29, ne permettant de stocker que 77 caractères alphanumériques.
Or la calculatrice TI-83 Premium CE permet bien mieux que cela, car travaillant sur des nombres d'au plus 13-chiffres significatifs, dont la génération nécessiterait donc au moins 44-bits.
Et voilà le problème, le compilateur de notre IDE C en ligne pour TI-83 Premium CE a le défaut, contrairement à d'autres, de ne pas gérer les calculs sur 64-bits.
Et voilà le problème, le compilateur de notre IDE C en ligne pour TI-83 Premium CE a le défaut, contrairement à d'autres, de ne pas gérer les calculs sur 64-bits.
Qu'à cela ne tienne - à tout problème il y a une solution.
Nous avons donc intégré au programme une bibliothèque de calcul 64-bits directement codée bit à bit en C, de quoi donc largement gérer des nombres 44-bits.
Nous avons ensuite eu l'idée d'utiliser également le signe des nombres générés en tant qu'indicateur de la valeur d'un 45ème bit.
Nous avons alors eu l'idée de gérer également des listes de nombres complexes, qui pour la calculatrice TI-83 Premium CE sont tout simplement des paires de nombres réels, ce qui nous amène finalement à 90-bits !
Nous avons donc intégré au programme une bibliothèque de calcul 64-bits directement codée bit à bit en C, de quoi donc largement gérer des nombres 44-bits.
Nous avons ensuite eu l'idée d'utiliser également le signe des nombres générés en tant qu'indicateur de la valeur d'un 45ème bit.
Nous avons alors eu l'idée de gérer également des listes de nombres complexes, qui pour la calculatrice TI-83 Premium CE sont tout simplement des paires de nombres réels, ce qui nous amène finalement à 90-bits !
Version ZQRCODE | format géré | taille format | dimension max. QR-Code | taille max. message (alphanumérique) |
v1 | entier non signé | 32-bits | 29-bits | 77 |
v2 (privée) | entier non signé | 44-bits | 41-bits | 195 |
v3 (privée) | entier signé | 45-bits | 45-bits | 224 |
v4 | 2 entiers signés (nombre complexe) | 90-bits | 89-bits | 1046 |
Ce qui nous amène aujourd'hui à la version 4 de l'outil, avec une gestion des QR-Codes jusqu'à une taille de 89x89, tu peux maintenant coder et afficher des message d'au plus 1046 caractères alphanumériques !
Elle reste bien évidemment compatible avec toutes les listes générées antérieurement, puisque c'est une extension du format géré et non un changement de format.
De quoi stocker de longues adresses Internet dans tes programmes sans plus aucun besoin de passer par un service de raccourcissement d'adresses !
Ou encore de quoi stocker des messages secrets destinés à tes camarades, sans plus aucun besoin de faire dans le concis !
Elle reste bien évidemment compatible avec toutes les listes générées antérieurement, puisque c'est une extension du format géré et non un changement de format.
De quoi stocker de longues adresses Internet dans tes programmes sans plus aucun besoin de passer par un service de raccourcissement d'adresses !
Ou encore de quoi stocker des messages secrets destinés à tes camarades, sans plus aucun besoin de faire dans le concis !
Notons que dans la mémoire de la TI-83 Premium CE, les nombres réels sont représentés par les trois éléments de leur écriture scientifique
Il y a peut-être moyen d'aller plus loin et de gérer des QR-Codes encore plus grands que 89x89, en codant les bits d'information supplémentaires dans l'exposant... A bientôt !
$mathjax$(signe)mantisse\times 10^{exposant}$mathjax$
:- un bit de signe
- une mantisse à 13 chiffres comprise entre 1 et 10 (7 octets)
- un exposant (1 octet)
Il y a peut-être moyen d'aller plus loin et de gérer des QR-Codes encore plus grands que 89x89, en codant les bits d'information supplémentaires dans l'exposant... A bientôt !
Téléchargement : archives_voir.php?id=324393 (afficheur)
Lien : https://tiplanet.org/scripts/qrcode/ (générateur)
Code source : https://tiplanet.org/pb/?id=2043_1459247330_6565740c92