¿Qué es la calculadora de números romanos?
Esta herramienta realiza operaciones aritméticas con números romanos. Introduce dos valores —cada uno puede ser un número romano (con los símbolos I, V, X, L, C, D, M) o un número entero normal—, elige una operación y la calculadora te devuelve el resultado tanto en cifras romanas como en números arábigos (decimales), además de un breve desglose de los pasos. Es ideal para estudiantes, docentes, clases de Historia y Latín, aficionados a los pasatiempos y para cualquiera que quiera descifrar las horas de un reloj, los años de copyright o las inscripciones de la primera piedra de un edificio.
Cómo usarla
Escribe el Número 1 (por ejemplo, DCCXXVI o simplemente 726), selecciona la operación —sumar, restar, multiplicar o dividir— y escribe el Número 2 (por ejemplo, XLVIII o 48). No importa si escribes en mayúsculas o minúsculas, ya que el resultado se muestra siempre en mayúsculas. Los resultados iguales a cero o negativos, así como la división entre cero, se señalan como avisos, porque los números romanos no tienen ningún símbolo para el cero, los negativos ni las fracciones.
La fórmula explicada
En primer lugar, cada entrada se convierte en un número entero aplicando la regla sustractiva habitual: leyendo de izquierda a derecha, un símbolo se resta cuando es menor que el que tiene inmediatamente a su derecha; en caso contrario, se suma.
$$\text{value} = \sum_i \begin{cases} -v_i & v_i < v_{i+1} \\ +v_i & \text{otherwise} \end{cases}$$
Después se aplica la operación elegida (\(a + b\), \(a - b\), \(a \times b\) o \(a / b\)) sobre los dos enteros.
$$\text{result} = \text{value}(N_1) \; \square \; \text{value}(N_2) \;\rightarrow\; \text{Roman}$$
Por último, el resultado entero se reconvierte a números romanos con un algoritmo voraz que usa los valores ordenados 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.
$$\text{result} = \text{Roman}\big(a \;\square\; b\big)$$
La división toma el cociente entero (parte baja) porque los números romanos no pueden expresar fracciones.
Ejemplo resuelto
$$\text{DCCXXVI}\,(726) + \text{XLVIII}\,(48) = 774$$
Al convertir 774:
$$\text{DCC}\,(700) + \text{L}\,(50) + \text{XX}\,(20) + \text{IV}\,(4) = \textbf{DCCLXXIV}$$
Así que el resultado es DCCLXXIV, o 774 en números arábigos. Otro ejemplo:
$$\text{XII}\,(12) \times \text{IV}\,(4) = 48 = \text{XLVIII}$$
Preguntas frecuentes
¿Puedo combinar números romanos y arábigos? Sí: cualquiera de los dos campos admite tanto una cadena en números romanos como un entero normal, en cualquier combinación.
¿Qué ocurre si la resta da cero o un número negativo? Los números romanos no tienen forma de representar el cero ni los números negativos, así que la calculadora muestra un aviso en lugar de un numeral.
¿Cómo se gestiona la división? El resultado es el cociente entero (el resto, si lo hay, se indica y se descarta), ya que los números romanos no admiten fracciones.