🧰 UtlKit

Como Converter Números Romanos: o 1.994 Vira MCMXCIV, o 2.026 Vira MMXXVI, e o 3.999 é o Último Número que o Sistema Consegue Escrever

Um campo, duas direções: 1.994 vira MCMXCIV, MCMXCIV volta para 1994, o padrão estrito rejeita IL, IC e XXXXII, e MMMM passa de qualquer jeito.

O conversor de números romanos pega um campo e trabalha nas duas direções de uma vez. Digite 1994 e ele responde MCMXCIV; digite MCMXCIV, em minúsculas ou com espaços entre as letras, e ele responde 1994. O cartão de resultado mostra o número arábico e o numeral romano lado a lado, cada um com seu próprio botão de copiar, e uma tabela de referência embaixo lista os sete símbolos base: I é 1, V é 5, X é 10, L é 50, C é 100, D é 500, M é 1.000.

Como o número se decompõe

O conversor percorre uma tabela de 13 passos do maior para o menor: 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), e acrescenta cada símbolo quantas vezes couber. Para 1.994 isso é M para 1.000, CM para 900, XC para 90 e IV para 4: MCMXCIV. O ano 2.026 passa por MM, depois XX, depois VI: MMXXVI. O 42 do exemplo do campo cai em XL e depois II: XLII.

Os seis pares sustrativos

Só seis subtrações são legais: IV (4), IX (9), XL (40), XC (90), CD (400), CM (900). O validador é um padrão estrito sobre a ordem canônica, então 49 se escreve XLIX, nunca IL; 99 se escreve XCIX, nunca IC; e 44 se escreve XLIV, porque quatro X seguidos como em XXXXII quebram a regra de que um símbolo pode repetir no máximo três vezes. VV, IIII e XM são rejeitados do mesmo jeito: o padrão confere que o bloco M, depois o bloco C-ou-D, depois o bloco X-ou-L e depois o bloco I-ou-V aparecem em ordem descendente e nada mais.

O intervalo, e seu único furo

Um número arábico tem que ser um inteiro entre 1 e 3.999; 0 e 4.000 dão o erro de intervalo. 3.999 é o maior numeral romano canônico, e se escreve MMMCMXCIX: três M, depois CM, depois XC, depois IX. O furo: a entrada em romano não tem teto nenhum. O padrão deixa passar qualquer sequência de M, então MMMM se lê como 4.000 e MMMMM como 5.000, ainda que nenhuma entrada arábica pudesse produzir nenhuma das duas cadeias.

O que o campo aceita

O campo primeiro tenta ler o texto como número inteiro, e só se o texto for exatamente igual a esse número é que converte. Um 42 com espaços soltos nos dois lados funciona, porque o texto é cortado antes; mas 42.0 falha: ele se interpreta como 42, as duas cadeias diferem, então o texto é tratado como numeral romano e rejeitado. Um 1,994 com a vírgula se comporta do mesmo jeito. No lado romano, maiúsculas e espaços internos não importam: mcmxciv e m c m x c i v devolvem 1994.

Para onde o número vai

Numerais romanos sobrevivem em placas de ano, marcadores de capítulo e mostras de relógio, então 2.026 vira MMXXVI num diploma ou num cartão de título. MCMXCIV são sete caracteres onde 1994 são quatro; o contador de caracteres deixa concreta essa diferença de tamanho. Inverter as letras com o inversor de texto dá VICXMCM, que o conversor rejeita, uma demo rápida de o quão estritas são as regras de ordem. O conversor de base numérica cobre o outro lado dos sistemas numéricos, com 1994 como 11111001010 em binário e 7CA em hexadecimal, e a ferramenta de código morse é o parente mais próximo: outro esquema que escreve valores com um alfabeto pequeno e fixo.

Leituras relacionadas

A ferramenta césar rot13 é o outro clássico da era romana: desloca cada letra uma quantidade fixa em vez de compor um número com símbolos. Para outra guia com sabor de proporção, veja como calcular uma proporção de aspecto, e para o passo de limpeza do lado do texto, veja como usar uma ferramenta de escape.

Ferramentas Relacionadas

Perguntas Frequentes

Por que a entrada arábica para em 3.999?

3.999 é o maior número que o sistema romano canônico consegue escrever: três M para 3.000, depois CM, depois XC, depois IX, formando MMMCMXCIX. A casa dos 4.000 não tem símbolo base, então a ferramenta devolve o erro de intervalo em vez de inventar um. O lado romano, porém, aceita qualquer sequência de M, de modo que MMMM continua se lendo como 4.000 ainda que nenhuma entrada arábica pudesse produzi-la.

Por que 49 se escreve XLIX e nunca IL?

Só seis pares sustrativos são legais: IV, IX, XL, XC, CD e CM. O I só pode subtrair do V e do X acima dele, então um I à frente de um L não é um padrão reconhecido. XLIX é XL (40) mais IX (9); o validador estrito rejeita IL porque os blocos precisam manter a ordem descendente: primeiro X-antes-de-L, depois I-antes-de-V.

O conversor funciona nas duas direções?

Sim. O campo único detecta sozinho: se o texto for exatamente um número inteiro, ele percorre o caminho arábico; qualquer outra coisa vai para o caminho romano. Digite 1994 e o cartão mostra MCMXCIV; digite MCMXCIV, com qualquer maiúscula e com ou sem espaços, e o cartão mostra 1994. As duas direções fazem ida e volta limpa: MCMXCIV de volta pelo conversor devolve 1994.

O que acontece com 0, 4.000 ou 42.0?

0 e 4.000 caem ambos no erro de intervalo, porque o lado arábico é só um inteiro entre 1 e 3.999. O 42.0 é o caso fino: ele se interpreta como o número 42, mas o texto 42.0 não é a mesma cadeia que 42, então o campo para de tratá-lo como número e entrega ao validador romano, que o rejeita como numeral romano inválido. O erro é de entrada inválida, não de intervalo.

O que acontece se você inverter as letras de um numeral romano?

Você obtém uma cadeia que o validador recusa. Inverta MCMXCIV e ela se lê VICXMCM: o padrão exige o bloco M primeiro, depois o bloco C-ou-D, depois o bloco X-ou-L e depois o bloco I-ou-V, tudo descendente. VICXMCM começa com V, que pertence ao bloco menor, então a cadeia inteira falha no padrão e o conversor devolve o erro de numeral inválido em vez de um número.

Artigos Relacionados