ForHosting KIT · Utilidades de desarrollo

Conversor de bases

Reescriba un número de una base a otra, desde la base 2 hasta la 36: 1010 en binario es 10 en decimal. Los valores grandes se mantienen exactos hasta la última cifra y el signo menos inicial se conserva. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Valor
1010
Base de origen
2
Base de destino
10
Obtiene
Resultado
10

Convierte una cadena de dígitos de una base a otra entre la base 2 y la base 36 usando enteros grandes de precisión arbitraria, conservando un signo menos inicial opcional.

Qué significa realmente cambiar de base

Una base indica cuántas cifras distintas usa un sistema de numeración antes de pasar a una nueva posición. El decimal usa diez, el binario dos, el hexadecimal dieciséis y la base 36 las diez cifras más las veintiséis letras. La cantidad nunca cambia; solo cambia la forma de escribirla. Por eso 1010 en binario y 10 en decimal son el mismo número. El conversor lee sus cifras en la base de origen, calcula el número entero que representan y lo vuelve a escribir en la base de destino. Así, de binario a hexadecimal, de hexadecimal a decimal o de decimal a base 36, el proceso es siempre el mismo.

Los errores que este conversor evita

Muchas herramientas habituales pierden precisión en silencio cuando un número supera 2^53, y las últimas cifras de un identificador o de un resumen largo salen mal. Aquí cada valor se trata como un entero exacto de hasta 200 caracteres, así que nada se redondea. Una cifra que no existe en la base de origen, como un 2 en binario o una G en hexadecimal, se señala en lugar de ignorarse. Los prefijos como 0x no se aceptan, de modo que la base es siempre la que usted eligió. Solo admite números enteros: una coma decimal o una fracción no se convierten.

El mismo resultado exacto en cada conversión

Como la aritmética se ejecuta sobre BigInt, no hay pérdida silenciosa de precisión como la que pueden sufrir parseInt y Number.toString(radix) cerca de 2^53 y más allá, lo que hace esto seguro para hashes grandes, identificadores, valores de color o máscaras de bits. Los usos habituales incluyen las conversiones de binario a hexadecimal y de hexadecimal a decimal, la codificación de IDs en un alfabeto compacto en base 36 y la inspección del aspecto de un número en distintas bases.

Inspección numérica para desarrolladores

Convierta entre binario, octal, decimal y hexadecimal mientras depura máscaras de bits, banderas o valores de color.

IDs compactos en base 36

Codifique identificadores decimales grandes en una cadena más corta en base 36, o decodifíquelos de vuelta con exactitud usando enteros grandes.

¿Maneja números muy grandes?

Sí. Los valores se analizan como BigInt, de modo que la conversión es exacta sin pérdida de coma flotante incluso más allá de 2^53.

¿Se permiten números negativos y letras?

Se conserva un signo menos inicial, las letras de la A a la Z sirven como dígitos por encima de 9, y la entrada se pasa a mayúsculas, de modo que 'ff' es igual a 'FF'.

¿Cómo paso de binario a hexadecimal?

Elija 2 como base de origen y 16 como base de destino, y escriba las cifras binarias. Los mismos pasos sirven para cualquier par de bases entre 2 y 36, por ejemplo de hexadecimal a decimal.

¿Puedo escribir 0x o 0b delante del número?

No. Esos prefijos se rechazan porque la base se elige aparte y no se adivina a partir del número. Quite el 0x o el 0b y elija la base 16 o la base 2.

¿Qué cifras usa la base 36?

Las cifras del 0 al 9 seguidas de las letras de la A a la Z, así que la base 16 llega hasta la F y la base 36 usa el alfabeto completo. Mayúsculas y minúsculas cuentan como la misma cifra.

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.

POSThttps://api.kit.forhosting.com/dev/number-base

¿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.

curl -X POST https://api.kit.forhosting.com/dev/number-base \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"FF","from_base":16,"to_base":10}'
{
  "value": "FF",
  "from_base": 16,
  "to_base": 10
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.number_base",
  "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.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_value_chars200
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Conversión de base con enteros grandes

Como el valor se mantiene como un BigInt y no como un número de JavaScript, las conversiones son exactas para magnitudes arbitrariamente grandes sin pérdida de coma flotante. dev.number_base analiza value como una cadena de dígitos en from_base, la acumula en un BigInt y luego vuelve a codificar ese entero en to_base. Tanto from_base como to_base son enteros en el rango de 2 a 36; los dígitos usan del 0 al 9 seguidos de la A a la Z, de modo que la base 16 usa del 0 a la F y la base 36 usa el alfabeto completo. La entrada se pasa a mayúsculas antes de analizarla, de modo que el hexadecimal 'ff' y 'FF' son equivalentes, y cada carácter se comprueba para que sea un dígito válido estrictamente inferior a from_base; cualquier otra cosa devuelve un error invalid_input tipado. La respuesta devuelve el value original, from_base, to_base y la cadena de resultado codificada, de modo que el ejemplo binario '1010' de la base 2 a la base 10 devuelve '10'.

Entrada aceptada y reglas estrictas

value debe ser una cadena no vacía de no más de 200 caracteres, y el resultado codificado también está limitado a 200 caracteres. Se admite y se conserva un único signo menos inicial a lo largo de la ida y vuelta, de modo que los números negativos se convierten correctamente, pero los prefijos de base se rechazan explícitamente: cualquier value que empiece por 0x, 0X, 0b o 0B devuelve invalid_input, porque la base la da from_base y no se infiere de un prefijo. No hay soporte para fracciones ni para la coma decimal, solo enteros. from_base y to_base deben ser ambos enteros dentro de 2 a 36; un valor fuera de esa ventana, un dígito que no sea legal para la base de origen, una cadena vacía o demasiado larga, o un signo menos solo, lanzan todos un error invalid_input tipado con un mensaje que nombra el fallo, de modo que quien llama puede capturarlo y mostrarlo limpiamente.

Conversión de base por lotes

Llame a la API sobre una columna de valores para convertir un conjunto de datos entero entre dos bases en un solo trabajo.

¿Qué bases se admiten?

Cualquier base entera de 2 a 36 tanto para from_base como para to_base, usando los dígitos del 0 al 9 y luego de la A a la Z.

¿Puedo usar los prefijos 0x o 0b?

No. Los valores con prefijo se rechazan con invalid_input; la base procede de from_base, no de un prefijo.

¿Cuáles son los límites y el coste?

value y el resultado están limitados cada uno a 200 caracteres; el widget del navegador es gratuito y la API factura solo las tareas correctas a $0.002.

Ver la documentación completa del KIT →