Convertidor de numerales mayas a puntos y barras
El convertidor de numerales mayas transforma un entero decimal no negativo en una representación clara de base veinte formada por puntos, barras y el símbolo de concha para el cero.
Ejecutar — gratis
El resultado enumera cada fila posicional desde la potencia de veinte más significativa hasta las unidades, por lo que resulta útil para enseñar, comprobar ejercicios manuscritos o dibujar un numeral personalizado. Cada fila incluye su potencia, el valor del dígito y sus componentes simbólicos. La conversión es determinista y privada en el navegador; cada solicitud automatizada a la API cuesta $0.002.
Lea un numeral maya como un número de base veinte
Los numerales mayas emplean notación posicional, igual que los números decimales habituales, pero cada posición vale veinte veces la inferior. La fila inferior o menos significativa representa unidades; la siguiente, grupos de veinte; la posterior, grupos de cuatrocientos, y así sucesivamente. Este convertidor devuelve las filas en el orden de presentación utilizado por muchos formatos de datos: primero aparece la más significativa y al final quedan las unidades. Así, la matriz se procesa cómodamente de izquierda a derecha sin perder la relación vertical del numeral escrito. Dentro de una fila, un punto vale uno y una barra vale cinco. Los valores del uno al diecinueve combinan hasta tres barras y cuatro puntos. El cero se representa mediante una concha, de modo que una posición vacía siga siendo visible. El campo power indica la potencia de veinte que ocupa la fila, value muestra el dígito entre cero y diecinueve, y symbols proporciona las piezas necesarias para dibujarlo o describirlo sin deducir su composición.
Elija y valide la entrada decimal
Proporcione un único campo llamado number que contenga un entero JSON igual o superior a cero. El cero es válido y produce una fila con una concha; nunca genera un resultado vacío. Los valores negativos se rechazan porque esta herramienta define la representación únicamente para enteros no negativos. También se rechazan fracciones, texto numérico como "429", valores ausentes, infinitos y cantidades fuera del intervalo seguro de enteros de JavaScript, en vez de redondearlos o reinterpretarlos silenciosamente. Esta exigencia es importante cuando la conversión se evalúa, se almacena o se utiliza para crear una ilustración: algo que solo parece numérico no debe convertirse por accidente en otro numeral. En una conversión correcta, el resultado repite el número original, identifica la base veinte y devuelve las filas desde la mayor potencia hasta la menor. Se conservan todas las filas, incluso un cero intermedio, porque eliminar una concha entre dos filas no nulas modificaría el valor. Así, usted puede validar mecánicamente la estructura y copiar los símbolos siguiendo reglas previsibles.
Dibuje, verifique y reutilice las filas devueltas
Para representar el resultado en el estilo vertical tradicional, coloque arriba la primera fila devuelta y continúe hacia abajo siguiendo el orden de la matriz. En cada fila distinta de cero, dibuje los puntos encima de las barras. La matriz symbols incluye primero un token conjunto de puntos cuando sean necesarios y después un token de barra por cada grupo de cinco; la concha es el único símbolo del cero. El campo value sirve para etiquetas accesibles o depuración, mientras power permite mostrar los valores posicionales junto a un esquema educativo. Para comprobar la conversión, multiplique el valor de cada fila por veinte elevado a su potencia y sume los productos: el total debe coincidir con number. El algoritmo solo utiliza división entera y restos, sin red, azar, reloj, reglas regionales ni estado mutable; por ello, una misma entrada siempre produce el mismo JSON. Es adecuado para fichas escolares, instalaciones de museos, compilaciones de sitios estáticos y herramientas de diseño. El navegador facilita las conversiones individuales y la API cuesta $0.002 por solicitud en flujos automatizados.
Qué puede hacer con ella
Prepare un ejemplo para clase
Convierta el valor decimal de un ejercicio en filas posicionales explícitas que el alumnado pueda dibujar y verificar.
Dibuje una obra con numerales históricos
Utilice los puntos, barras y conchas ordenados como datos deterministas para una composición visual.
Compruebe una conversión manual
Compare los dígitos de base veinte escritos a mano con los valores y potencias devueltos.
Preguntas frecuentes
¿Qué entradas se aceptan?
El campo number debe contener un entero JSON no negativo dentro del intervalo seguro de enteros.
¿Cómo se representa el cero?
El cero devuelve una fila de unidades cuyo valor es cero y cuya matriz symbols contiene una concha.
¿Qué fila aparece primero?
Las filas se devuelven desde la mayor potencia de veinte hasta la potencia cero; la más significativa aparece primero.
¿Se utiliza aquí el ajuste del calendario de Cuenta Larga?
No. La conversión usa base veinte pura y no aplica valores posicionales específicos del calendario.
¿Cuánto cuesta una conversión mediante la API?
Cada solicitud a la API cuesta $0.002; la herramienta del navegador ejecuta localmente la misma conversión determinista.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"number": 429
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.mayan_numeral",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |