Conversor de numerais maias em pontos e barras
O conversor de numerais maias transforma um inteiro decimal não negativo em uma representação clara de base vinte, composta por pontos, barras e pelo símbolo de concha para o zero.
Executar grátis
O resultado relaciona cada linha posicional desde a potência de vinte mais significativa até as unidades, sendo adequado para ensino, conferência de exercícios manuscritos ou criação de um numeral personalizado. Cada linha inclui potência, valor do dígito e componentes simbólicos. A conversão é determinística e privada no navegador; cada solicitação automatizada à API custa US$ 0,002.
Leia um numeral maia como um número de base vinte
Os numerais maias usam notação posicional, assim como os números decimais cotidianos, mas cada posição vale vinte vezes a posição abaixo dela. A linha inferior, ou menos significativa, representa unidades; a seguinte representa grupos de vinte; a próxima, grupos de quatrocentos, e assim por diante. Este conversor devolve as linhas na ordem adotada por muitos formatos de dados: a linha mais significativa vem primeiro e a linha das unidades aparece por último. Isso permite processar a lista da esquerda para a direita sem perder a relação vertical do numeral escrito. Em uma linha, um ponto vale um e uma barra vale cinco. Os valores de um a dezenove combinam até três barras e quatro pontos. O zero usa uma concha, mantendo visível uma posição sem valor. O campo power informa exatamente a potência de vinte ocupada pela linha, value fornece o dígito entre zero e dezenove e symbols apresenta as peças necessárias para desenhar ou descrever o dígito sem precisar deduzir sua decomposição.
Escolha e valide a entrada decimal
Forneça um único campo chamado number com um inteiro JSON igual ou maior que zero. O zero é válido e produz uma linha com uma concha; ele não gera uma resposta vazia. Valores negativos são recusados porque esta representação foi definida apenas para inteiros não negativos. Frações, texto numérico como "429", valores ausentes, infinitos e números além do intervalo seguro de inteiros do JavaScript também são rejeitados, sem arredondamento ou reinterpretação silenciosa. Esse rigor é importante quando a conversão será avaliada, armazenada ou usada para gerar uma ilustração: um valor que apenas parece numérico jamais deve virar outro numeral por acidente. Em caso de sucesso, o resultado repete o número original, identifica a base como vinte e devolve as linhas da maior potência para a menor. Todas as linhas permanecem presentes, inclusive um zero interno, pois retirar uma concha entre duas linhas não nulas mudaria o valor. Assim, você pode validar a estrutura automaticamente ou copiar os símbolos à mão seguindo regras previsíveis.
Desenhe, confira e reutilize as linhas retornadas
Para exibir o resultado no estilo vertical tradicional, coloque a primeira linha retornada no topo e prossiga para baixo na ordem da lista. Em cada linha diferente de zero, desenhe os pontos acima das barras. A lista symbols traz primeiro um token combinado de pontos quando eles forem necessários e depois um token de barra para cada grupo de cinco; uma concha é o único símbolo do zero. O campo value ajuda em rótulos de acessibilidade ou depuração, enquanto power permite indicar valores posicionais ao lado de um diagrama didático. Para conferir a conversão, multiplique o valor de cada linha por vinte elevado à sua potência e some os produtos. O total deve ser igual a number. O algoritmo utiliza somente divisão inteira e restos, sem rede, aleatoriedade, relógio, regras regionais ou estado mutável; por isso, a mesma entrada sempre gera o mesmo JSON. Ele é confiável para atividades escolares, instalações de museus, compilações de sites estáticos e ferramentas de design. O navegador atende conversões individuais, e a API custa US$ 0,002 por solicitação em fluxos automatizados.
Casos de uso
Prepare um exemplo para a aula
Transforme o valor decimal de um exercício em linhas posicionais que os estudantes possam desenhar e conferir.
Crie uma arte com numerais históricos
Use pontos, barras e conchas ordenados como dados determinísticos para uma composição visual.
Confira uma conversão manual
Compare dígitos de base vinte escritos à mão com os valores e as potências retornados.
Perguntas frequentes
Quais entradas são aceitas?
O campo number deve conter um inteiro JSON não negativo dentro do intervalo seguro de inteiros.
Como o zero é representado?
O zero retorna uma linha de unidades cujo valor é zero e cuja lista symbols contém uma concha.
Qual linha aparece primeiro?
As linhas são retornadas da maior potência de vinte até a potência zero, com a mais significativa em primeiro lugar.
A ferramenta usa o ajuste do calendário de Contagem Longa?
Não. A conversão emprega base vinte pura e não aplica valores posicionais específicos de calendário.
Quanto custa uma conversão pela API?
Cada solicitação à API custa US$ 0,002; a ferramenta do navegador executa localmente a mesma conversão determinística.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/math/mayan-numeral \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":429}'const res = await fetch("https://api.kit.forhosting.com/math/mayan-numeral", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": 429
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/mayan-numeral",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": 429
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/mayan-numeral", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":429}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":429}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/mayan-numeral", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"number": 429
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.mayan_numeral",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |