Conversion de nombres en chaînes décimales

Illustration de la conversion de données numériques binaires vers des chaînes décimales.
project

La conversion de nombres en chaînes décimales est une opération fondamentale, mais souvent sous-estimée. Elle intervient dès que des données numériques sont affichées, enregistrées dans des journaux, exportées vers des formats textuels comme JSON ou CSV, ou échangées entre systèmes. Même lorsqu’un calcul est fait en binaire, il faut généralement produire une représentation décimale lisible, compacte et exacte.

Ce projet rassemble des travaux sur deux familles complémentaires de conversions. La première concerne les nombres à virgule flottante binaires, où l’objectif est de produire une chaîne décimale courte qui permet de retrouver exactement la valeur initiale lors d’une lecture ultérieure. Nous y comparons empiriquement des algorithmes modernes, comme Schubfach et Dragonbox, à des approches plus classiques comme Dragon4, sur plusieurs architectures matérielles.

La seconde concerne les entiers binaires, où le défi principal est la vitesse de conversion. Nous étudions des méthodes exploitant le parallélisme SIMD, notamment les instructions AVX-512 IFMA, afin de convertir des entiers en chaînes décimales en moins de deux nanosecondes dans certains scénarios. Ces techniques évitent les grandes tables de correspondance et calculent plusieurs chiffres en parallèle.

Dans les deux cas, l’objectif est de mieux comprendre les compromis entre exactitude, longueur des chaînes produites, portabilité et performance. Ces travaux visent à guider l’optimisation de bibliothèques numériques, de langages de programmation et de systèmes où la sérialisation de nombres est critique.

Jaël Champagne Gareau
Auteurs
Chercheur postdoctoral en informatique
Je suis actuellement chercheur postdoctoral en informatique à l’Université TÉLUQ, où mes travaux portent sur l’accélération de la conversion de nombres entiers et flottants en chaînes de caractères décimales. Au cours de mon doctorat, j’ai conçu des algorithmes et des structures de données exploitant l’architecture moderne des ordinateurs afin de résoudre de grandes instances de processus décisionnels de Markov (MDP). Durant ma maîtrise, j’ai développé des algorithmes de planification d’itinéraires pour véhicules électriques, visant à déterminer le chemin optimal entre deux points tout en minimisant le temps total du trajet (déplacement, recharge et attente aux bornes).

Citation