Qué hace
Convierte enteros (de 1 a 3.999.999) a números romanos y a la inversa. Los valores por encima de 3.999 usan la notación vinculum: una barra sobre un símbolo multiplica su valor por 1.000, así el rango se extiende mil veces. Cada entrada se valida contra la forma canónica, así que IIII, VV, IC y un MMMM simple se rechazan con un mensaje claro. El panel de desglose muestra exactamente cómo se construyó cada resultado, paso a paso.
Cómo usarlo
- Elige una dirección: Número → Romano o Romano → Número. Un valor válido se mantiene al cambiar de dirección, así puedes convertir de vuelta sin reescribir.
- Escribe o pega un valor. También puedes pulsar un chip de ejemplo.
- El resultado aparece en tipografía grande. Debajo, el panel Desglose lista cada paso voraz con su valor. Copia el resultado, el desglose, o un enlace para compartir con tu entrada exacta.
Ejemplos
| Número | Romano | Nota |
|---|---|---|
| 44 | XLIV | 40 + 4 |
| 1994 | MCMXCIV | 1.000 + 900 + 90 + 4 |
| 3.999 | MMMCMXCIX | el numeral simple más grande |
| 4.000 | I̅V̅ | primer valor con vinculum: IV x 1.000 |
| 1.234.567 | M̅C̅C̅X̅X̅X̅I̅V̅DLXVII | 1.234 con barra + 567 simple |
| 3.999.999 | M̅M̅M̅C̅M̅X̅C̅I̅X̅CMXCIX | el valor más grande que la herramienta acepta |
Cómo funcionan los números romanos
Los números romanos usan siete letras. Ese es todo el sistema:
| Símbolo | I | V | X | L | C | D | M |
|---|---|---|---|---|---|---|---|
| Valor | 1 | 5 | 10 | 50 | 100 | 500 | 1.000 |
Dos reglas producen cada numeral canónico:
- Regla aditiva. Lee de izquierda a derecha y suma.
VIIIes 5 + 1 + 1 + 1 = 8. Las letras mayores van primero. - Regla sustractiva. Una letra menor puesta antes de una mayor resta.
IVes 5 - 1 = 4,CMes 1.000 - 100 = 900. Exactamente seis pares son legales:IV(4),IX(9),XL(40),XC(90),CD(400),CM(900). La regla existe para mantener los numerales cortos y la escritura de cada valor única: 4 esIV, nuncaIIII.
El algoritmo de conversión son diez líneas. Pon los 13 valores de mayor a menor en una tabla (las siete letras más los seis pares sustractivos), y recórrela vorazmente:
VALUES = [1000 M, 900 CM, 500 D, 400 CD, 100 C, 90 XC,
50 L, 40 XL, 10 X, 9 IX, 5 V, 4 IV, 1 I]
to_roman(n):
result = ""
for (value, symbol) in VALUES: # largest first
while n >= value:
result += symbol
n -= value
return result
Para 1994 ese recorrido emite M (1.000), luego CM (900), luego XC (90), luego IV (4). Eso es exactamente el panel de desglose. El parseo ejecuta la misma lógica a la inversa: escanea de izquierda a derecha, resta cuando una letra menor precede a una mayor, y luego reproduce el total y lo compara. Cualquier escritura que sobrevive al viaje de ida y vuelta es canónica, que es como IIII e IC se rechazan con una sola comprobación.
Por encima de 3.999: el vinculum. Las letras se detienen en M = 1.000, así que el uso clásico terminaba en 3.999. El vinculum medieval extiende el sistema: una barra superior multiplica un símbolo por 1.000 (V̅ = 5.000, M̅ = 1.000.000). La forma canónica renderiza la parte de millares con la misma tabla voraz y luego barra cada glifo: 4.000 es I̅V̅ (4 x 1.000), y 3.999.999 es el MMMCMXCIX con barra seguido del resto simple CMXCIX. La herramienta lleva la barra como carácter combinante (U+0305), así el numeral se copia y se parsea como texto ordinario. Una macrón pegada (U+0304, visualmente casi idéntica) se acepta y se normaliza.
Buen saber
- Solo canónico. Una única escritura aceptada por valor. La entrada no canónica se rechaza, no se adivina.
- Rango estricto. De 1 a 3.999.999. Por encima, los escribas medievales apilaban una segunda barra (x 1.000.000); la herramienta se detiene en una.
- Privado: toda la conversión se ejecuta localmente en tu navegador. Nada se envía a ninguna parte.
- Herramientas relacionadas: Number Base Converter, Bitwise Calculator.