Convertitore di Numeri Romani
Converti un numero in numero romano, o un numero romano in un numero. Funziona in entrambe le direzioni, si aggiorna mentre digiti, e nulla di ciò che inserisci lascia il tuo browser.
Simboli dei numeri romani
| I | V | X | L | C | D | M |
|---|---|---|---|---|---|---|
| 1 | 5 | 10 | 50 | 100 | 500 | 1000 |
La notazione standard usa anche sei coppie sottrattive di due lettere per evitare di ripetere un simbolo quattro volte di fila: CM (900), CD (400), XC (90), XL (40), IX (9) e IV (4) — un simbolo di valore minore posto prima di uno maggiore significa "sottrai", motivo per cui il 4 diventa IV invece del non standard IIII.
Esempi pratici
1994 si scompone come 1000 + 900 + 90 + 4, quindi l'algoritmo greedy aggiunge M (1000), CM (900), XC (90) e IV (4) in quest'ordine, dando MCMXCIV. Il valore standard più grande, 3999, è MMMCMXCIX — tre M (3000), poi CM (900), XC (90) e IX (9). E uno piccolo, 58, è 50 + 5 + 1 + 1 + 1, che dà LVIII.
Domande frequenti
Perché l'intervallo valido è da 1 a 3999?
I numeri romani classici non hanno un simbolo per lo zero — il sistema romano è antecedente al concetto stesso di zero come numero — e non esiste nemmeno un modo per scrivere un valore negativo. Il limite superiore, 3999 (MMMCMXCIX), è il numero più grande che la notazione sottrattiva standard può rappresentare con i sette simboli abituali; per andare oltre servivano segni speciali come il vinculum (una linea sopra il simbolo che ne moltiplicava il valore per 1000) o l'apostrophus, entrambe notazioni storiche distinte che questo strumento non tenta di riprodurre. Ecco perché 1–3999 è l'intervallo onesto per la notazione implementata da questo strumento.
Perché "IIII" o "VV" vengono rifiutati invece di essere convertiti?
Questo strumento verifica che l'input di Romano → Numero sia notazione canonica ben formata prima di convertirlo, e rifiuta forme come IIII (dovrebbe essere IV), VV (dovrebbe essere X) o IIX (dovrebbe essere VIII) invece di indovinare cosa intendevi. È una scelta deliberata, non l'unica valida: uno strumento più permissivo potrebbe sommare i valori dei simboli da sinistra a destra e accettare silenziosamente quelle forme — otterresti comunque una risposta, ma non necessariamente quella che intendevi, e gli errori di battitura passerebbero mascherati da numeri "validi". Preferiamo dirti chiaramente che l'input non corrisponde alla notazione standard piuttosto che rischiare un'interpretazione silenziosa sbagliata. (Su alcuni quadranti di orologi si può vedere IIII — è una convenzione stilistica reale ma non standard, diversa dalla notazione che questo strumento verifica.)
Come costruisce il numerale l'algoritmo Numero → Romano?
È un algoritmo greedy: partendo dal valore più grande, 1000 (M), sottrae ripetutamente quel valore e aggiunge il simbolo corrispondente finché il numero rimanente è ancora abbastanza grande, poi passa al valore successivo in un elenco ordinato che include le sei coppie sottrattive — 900 (CM), 500 (D), 400 (CD), 100 (C), 90 (XC), 50 (L), 40 (XL), 10 (X), 9 (IX), 5 (V), 4 (IV) — fino ad arrivare a 1. Poiché l'elenco è ordinato dal più grande al più piccolo e include quelle coppie sottrattive come voci a sé stanti, l'approccio greedy produce sempre il numerale standard e canonico, mai uno equivalente ma non standard.
Perché cambiando direzione l'altra casella si riempie automaticamente?
Quando passi da Numero → Romano a Romano → Numero (o viceversa), lo strumento porta il tuo ultimo risultato valido nella nuova casella di input, così puoi verificare subito l'andata e ritorno — converti 1994 in MCMXCIV, cambia direzione e verifica che MCMXCIV torni esattamente a 1994. Viene trasferito solo un risultato valido, mai testo non valido o a metà scrittura, quindi non ti sorprende mai con qualcosa che non hai digitato o convertito tu stesso.