O que faz
Converte inteiros (de 1 a 3.999.999) para números romanos e de volta. Valores acima de 3.999 usam a notação vinculum: uma barra sobre um símbolo multiplica o seu valor por 1.000, então a faixa se estende mil vezes. Toda entrada é validada contra a forma canônica, então IIII, VV, IC e MMMM puro são rejeitados com uma mensagem clara. O painel de decomposição mostra exatamente como cada resultado foi construído, passo a passo.
Como usar
- Escolha uma direção: Número → Romano ou Romano → Número. Um valor válido atravessa a troca, então você pode converter de volta sem redigitar.
- Digite ou cole um valor. Você também pode tocar num chip de exemplo.
- O resultado aparece em tipo grande. Abaixo dele, o painel de Decomposição lista cada passo guloso com o seu valor. Copie o resultado, a decomposição ou um link de compartilhamento com a sua entrada exata.
Exemplos
| Número | Romano | Observação |
|---|---|---|
| 44 | XLIV | 40 + 4 |
| 1994 | MCMXCIV | 1.000 + 900 + 90 + 4 |
| 3.999 | MMMCMXCIX | o maior numeral simples |
| 4.000 | I̅V̅ | primeiro valor com vinculum: IV × 1.000 |
| 1.234.567 | M̅C̅C̅X̅X̅X̅I̅V̅DLXVII | 1.234 com overline + 567 simples |
| 3.999.999 | M̅M̅M̅C̅M̅X̅C̅I̅X̅CMXCIX | o maior valor que a ferramenta aceita |
Como os números romanos funcionam
Os números romanos usam sete letras. Esse é o sistema inteiro:
| Símbolo | I | V | X | L | C | D | M |
|---|---|---|---|---|---|---|---|
| Valor | 1 | 5 | 10 | 50 | 100 | 500 | 1.000 |
Duas regras produzem todo numeral canônico:
- Regra aditiva. Leia da esquerda para a direita e some.
VIIIé 5 + 1 + 1 + 1 = 8. Letras maiores vêm primeiro. - Regra subtrativa. Uma letra menor posta antes de uma maior subtrai.
IVé 5 - 1 = 4,CMé 1.000 - 100 = 900. Exatamente seis pares são legais:IV(4),IX(9),XL(40),XC(90),CD(400),CM(900). A regra existe para manter os numerais curtos e a grafia de cada valor única: 4 éIV, nuncaIIII.
O algoritmo de conversão tem dez linhas. Coloque os 13 valores em ordem decrescente numa única tabela (as sete letras mais os seis pares subtrativos) e percorra-a de forma gulosa:
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, esse percurso emite M (1.000), depois CM (900), depois XC (90), depois IV (4). Isso é exatamente o painel de decomposição. O parsing roda a mesma lógica ao contrário: varra da esquerda para a direita, subtraia quando uma letra menor precede uma maior, então renderize o total novamente e compare. Qualquer grafia que sobreviva à ida e volta é canônica - é assim que IIII e IC são rejeitados com uma única verificação.
Acima de 3.999: o vinculum. As letras param no M = 1.000, então o uso clássico limitava-se a 3.999. O vinculum medieval estende o sistema: um overline multiplica um símbolo por 1.000 (V̅ = 5.000, M̅ = 1.000.000). A forma canônica renderiza a parte dos milhares com a mesma tabela gulosa e depois põe a barra em cada glifo: 4.000 é I̅V̅ (4 × 1.000), e 3.999.999 é o MMMCMXCIX com overline seguido do restante simples CMXCIX. A ferramenta carrega a barra como um combining character (U+0305), então o numeral copia e faz parse como texto comum. Um macron colado (U+0304, visualmente quase idêntico) é aceito e normalizado.
Bom saber
- Somente canônico. Uma única grafia aceita por valor. Entrada não canônica é rejeitada, não adivinhada.
- Faixa estrita. De 1 a 3.999.999. Acima disso, escribas medievais empilhavam uma segunda barra (× 1.000.000); a ferramenta para em uma.
- Privado: toda a conversão roda localmente no seu navegador. Nada é enviado a lugar algum.
- Ferramentas relacionadas: Number Base Converter, Bitwise Calculator.