🧰 UtlKit

Comment Convertir un Nombre Romain : le 1 994 Devient MCMXCIV, le 2 026 Devient MMXXVI, et le 3 999 Est le Dernier Nombre que le Système Peut Écrire

Convertissez dans les deux sens avec un seul champ : 1 994 devient MCMXCIV, MCMXCIV revient en 1994, les six paires soustractives excluent IL et IC, et MMMM passe quand même.

Le convertisseur de nombres romains prend un seul champ et travaille dans les deux sens à la fois. Saisissez 1994 et il répond MCMXCIV ; saisissez MCMXCIV, en minuscules ou avec des espaces entre les lettres, et il répond 1994. La carte de résultat montre le nombre arabe et le nombre romain côte à côte, chacun avec son propre bouton de copie, et un tableau de référence en bas liste les sept symboles de base : I vaut 1, V vaut 5, X vaut 10, L vaut 50, C vaut 100, D vaut 500, M vaut 1 000.

Comment le nombre se décompose

Le convertisseur parcourt un tableau de 13 étapes du plus grand au plus petit : M (1 000), CM (900), D (500), CD (400), C (100), XC (90), L (50), XL (40), X (10), IX (9), V (5), IV (4), I (1), et il ajoute chaque symbole autant de fois qu'il tient. Pour 1 994, cela fait M pour 1 000, CM pour 900, XC pour 90 et IV pour 4 : MCMXCIV. L'année 2 026 passe par MM, puis XX, puis VI : MMXXVI. Le 42 du champ d'exemple tombe sur XL puis II : XLII.

Les six paires soustractives

Seules six soustractions sont légales : IV (4), IX (9), XL (40), XC (90), CD (400), CM (900). Le validateur est un motif strict sur l'ordre canonique, donc 49 s'écrit XLIX, jamais IL ; 99 s'écrit XCIX, jamais IC ; et 44 s'écrit XLIV, parce que quatre X d'affilée comme dans XXXXII violent la règle selon laquelle un symbole peut se répéter au maximum trois fois. VV, IIII et XM sont rejetés de la même façon : le motif vérifie que le bloc M, puis le bloc C-ou-D, puis le bloc X-ou-L puis le bloc I-ou-V apparaissent en ordre décroissant et rien d'autre.

La plage, et son unique trou

Un nombre arabe doit être un entier compris entre 1 et 3 999 ; 0 et 4 000 reçoivent l'erreur de plage. 3 999 est le plus grand nombre romain canonique, et il s'écrit MMMCMXCIX : trois M, puis CM, puis XC, puis IX. Le trou : la saisie en romain n'a aucune limite haute. Le motif laisse passer n'importe quelle suite de M, donc MMMM se lit 4 000 et MMMMM 5 000, alors qu'aucune saisie arabe ne pourrait produire ni l'une ni l'autre des deux chaînes.

Ce que le champ accepte

Le champ d'abord essaie de lire le texte comme un nombre entier, et ce n'est que si le texte est exactement égal à ce nombre qu'il convertit. Un 42 avec des espaces perdus des deux côtés fonctionne, parce que le texte est d'abord rogné ; mais 42.0 échoue : il se lit 42, les deux chaînes diffèrent, donc le texte est traité comme nombre romain et rejeté. Un 1,994 avec sa virgule se comporte pareil. Côté romain, les majuscules et les espaces intérieurs n'ont pas d'importance : mcmxciv et m c m x c i v renvoient 1994.

Où le nombre travaille

Les nombres romains survivent sur les plaques d'année, les marqueurs de chapitre et les cadrans d'horloge, donc 2 026 devient MMXXVI sur un diplôme ou un carton-titre. MCMXCIV fait sept caractères là où 1994 en fait quatre ; le compteur de caractères rend cette différence de longueur concrète. Inverser les lettres avec l'inverseur de texte donne VICXMCM, que le convertisseur refuse, une démo rapide de la sévérité des règles d'ordre. Le convertisseur de base numérique couvre l'autre face des systèmes numériques, avec 1994 en 11111001010 en binaire et 7CA en hexadécimal, et l'outil code morse est le parent le plus proche : un autre schéma qui écrit des valeurs avec un alphabet petit et fixe.

Lectures liées

L'outil césar rot13 est l'autre classique de l'ère romaine : il décale chaque lettre d'une quantité fixe au lieu de composer un nombre avec des symboles. Pour un autre tutoriel au goût de proportion, voyez comment calculer un rapport d'aspect, et pour l'étape de nettoyage côté texte, voyez comment utiliser un outil d'échappement.

Outils Associés

Questions Fréquentes

Pourquoi la saisie arabe s'arrête-t-elle à 3 999 ?

3 999 est le plus grand nombre que le système romain canonique peut écrire : trois M pour 3 000, puis CM, puis XC, puis IX, formant MMMCMXCIX. Le rang des 4 000 n'a aucun symbole de base, donc l'outil renvoie l'erreur de plage au lieu d'en inventer un. Le côté romain, lui, accepte n'importe quelle suite de M, si bien que MMMM se lit encore 4 000 même si aucune saisie arabe ne pourrait le produire.

Pourquoi 49 s'écrit-il XLIX et jamais IL ?

Seules six paires soustractives sont légales : IV, IX, XL, XC, CD et CM. Le I ne peut soustraire que du V et du X au-dessus de lui, donc un I devant un L n'est pas un motif reconnu. XLIX est XL (40) plus IX (9) ; le validateur strict refuse IL parce que les blocs doivent garder l'ordre décroissant : d'abord X-avant-L, ensuite I-avant-V.

Le convertisseur fonctionne-t-il dans les deux sens ?

Oui. Le champ unique détecte tout seul : si le texte est exactement un nombre entier, il parcourt le chemin arabe ; tout le reste va au chemin romain. Saisissez 1994 et la carte affiche MCMXCIV ; saisissez MCMXCIV, avec n'importe quelles majuscules et avec ou sans espaces, et la carte affiche 1994. Les deux sens font un aller-retour propre : MCMXCIV repassé par le convertisseur renvoie 1994.

Que se passe-t-il avec 0, 4 000 ou 42.0 ?

0 et 4 000 tombent tous deux sur l'erreur de plage, parce que le côté arabe est un entier compris entre 1 et 3 999 seulement. Le 42.0 est le cas subtil : il se lit comme le nombre 42, mais le texte 42.0 n'est pas la même chaîne que 42, donc le champ cesse de le traiter comme nombre et le confie au validateur romain, qui le rejette comme nombre romain invalide. L'erreur est une erreur d'entrée invalide, pas une erreur de plage.

Que se passe-t-il si on inverse les lettres d'un nombre romain ?

On obtient une chaîne que le validateur refuse. Inversez MCMXCIV et elle se lit VICXMCM : le motif exige le bloc M d'abord, puis le bloc C-ou-D, puis le bloc X-ou-L, puis le bloc I-ou-V, tout en ordre décroissant. VICXMCM commence par V, qui appartient au plus petit bloc, donc toute la chaîne échoue au motif et le convertisseur renvoie l'erreur de nombre romain invalide au lieu d'un nombre.

Articles Associés