Conversor de base fraccionaria
El 0.1 decimal es 0.0(0011) en binario: un ciclo de 4 cifras que se repite sin fin, no un bit redondeado. Convierta cualquier fracción entre bases 2 y 16, con el bloque periódico entre paréntesis y la longitud del periodo. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Valor
- 0.1
- Base de origen
- 10
- Base de destino
- 2
- Resultado
- 0.0(0011)
- Máximo de dígitos
- 32
- Parte no periódica
- 0
- Período
- 4
Los conversores de base enteros se detienen en el punto de la base. Estudiantes, autores de compiladores e ingenieros embebidos siguen necesitando la mitad fraccionaria: el 0.1 binario es un medio, el 0.1 decimal es un décimo, y el mismo racional se convierte en otra secuencia de dígitos —a menudo con periodo— al cambiar de base. Este conversor de parte fraccionaria acepta una fracción pura escrita en cualquier base de origen de dos a dieciséis, opcionalmente con un bloque repetido entre paréntesis como 0.1(6), reconstruye el racional exacto con aritmética BigInt y reescribe el valor en la base destino mapeando restos para que los periodos verdaderos aparezcan como 0. AB(C) y no como un recorte opaco.
Por qué convertir la parte fraccionaria no es convertir enteros
La conversión de enteros recorre valores de posición que crecen como potencias de la base: unidades, base, base al cuadrado, y así sucesivamente. Los valores fraccionarios se encogen: base a la menos uno, menos dos, etc. Esa sola diferencia rompe todo conversor solo de enteros cuando el usuario pega 0.1, 0.
A3 o 0.0011. En base diez, 0.1 es exactamente un décimo; en base dos ese mismo décimo es la expansión infinita 0.0(0011), porque diez y dos no comparten un factor finito que termine ambas representaciones. Los manuales lo introducen con un tercio decimal igual a 0.1 en base tres y 0.(3) en base diez, pero la misma identidad vale para todo par de bases de dos a dieciséis.
Un conversor de enteros que silencie el punto de la base, o que multiplique por potencias grandes y redondee, inventa otro número.
Contrato de entrada, notación periódica y forma de la respuesta
Las bases son enteros de dos a dieciséis inclusive. El campo value es solo la parte fraccionaria: escriba 0. ABC, . ABC o ABC para una expansión finita en el alfabeto de origen 0–9 y A–F (sin distinguir mayúsculas).
Si conoce un periodo en el origen, añada un bloque entre paréntesis: 0.1(6) es un sexto en base diez escrito como 0.1666…, y 0.(3) es el tres puramente periódico. Se rechaza una parte entera distinta de cero: combine esta herramienta con un conversor de enteros si necesita ambas mitades.
Dónde resulta útil convertir fracciones entre bases
Las aulas de informática usan un conversor de parte fraccionaria para que el alumnado vea que 0.1 decimal no es 0.1 binario y mida la longitud del periodo sin división larga a mano en cada ejercicio. Autores de compiladores e intérpretes verifican tablas de literales al incrustar constantes fraccionarias en distintas sintaxis de base. Ingenieros embebidos y de DSP comparan patrones de punto fijo binarios y hexadecimales con hojas de diseño decimales antes de fijar anchos de palabra.
Mantenga peticiones pequeñas, fije en pruebas las cadenas doradas del result —incluidos los paréntesis del periodo— y obtendrá reescrituras fraccionarias reproducibles para deberes, plugins LMS y workers en el borde sin montar un sistema de álgebra simbólica propio.
Qué puede hacer con ella
Deberes de informática y laboratorios de bases
Convierta fracciones de clase como 0.1₁₀ ↔ binario o 0.A₁₆ ↔ decimal y muestre resultados terminantes frente a periódicos con la longitud del periodo.
Tablas de compiladores y especificaciones de lenguaje
Genere flujos exactos de dígitos fraccionarios al comprobar cómo se reescriben literales numéricos entre bases 2–16 en analizadores y baterías de prueba.
Comprobaciones de punto fijo y diseño DSP
Contraste valores de diseño decimales con patrones fraccionarios binarios o hex antes de fijar la longitud de palabra y los factores de escala.
Preguntas frecuentes
¿Qué bases se admiten?
Bases de origen y destino de 2 a 16 inclusive. Los dígitos son 0–9 y A–F según lo exija la base de origen.
¿Cómo se escribe la notación periódica?
En la entrada use un (bloque) final como 0.1(6) o 0.( 3). En la salida, las expansiones periódicas aparecen como 0.prefijo(bloque) con period igual a la longitud del bloque.
¿Por qué el 0.1 decimal nunca termina en binario?
Porque un décimo no tiene una expansión finita en base dos. El conversor reconstruye la fracción exacta, detecta que las cifras 0011 se repiten sin fin y escribe 0.0(0011), con periodo 4, en lugar de una ristra de bits redondeada.
¿Puedo convertir un número con parte entera?
No. Solo se admite la parte que va después del punto, y una parte entera distinta de cero se rechaza. Convierta la parte entera con un conversor de bases para enteros y una después las dos mitades.
¿Cuántas cifras muestra el resultado?
Hasta 32 cifras tras el punto por defecto, y hasta 64 si sube el límite. Si un ciclo se repite antes, se cierra entre paréntesis; si se alcanza primero el límite, el resultado indica que quedó recortado.
Herramientas relacionadas
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/dev/base-fraction-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"0.1","from_base":10,"to_base":2}'const res = await fetch("https://api.kit.forhosting.com/dev/base-fraction-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "0.1",
"from_base": 10,
"to_base": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/base-fraction-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "0.1",
"from_base": 10,
"to_base": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/base-fraction-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"0.1","from_base":10,"to_base":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"0.1","from_base":10,"to_base":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/base-fraction-convert", 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
{
"value": "0.1",
"from_base": 10,
"to_base": 2
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.base_fraction_convert",
"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. |
Notas técnicas
Un tope max_digits acota expansiones patológicas.
Por qué convertir la parte fraccionaria no es convertir enteros
Diseñadores de punto fijo, demos al estilo IEEE y tablas de constantes en ensamblador necesitan esa reescritura con una respuesta honesta sobre terminación frente a longitud del periodo. Esta capacidad no redondea el origen: analiza los dígitos en una fracción reducida exacta y emite dígitos destino con el mapa clásico de restos, de modo que casos terminantes, puramente periódicos y mixtos permanecen fieles hasta que max_digits fuerza un tope controlado.
Contrato de entrada, notación periódica y forma de la respuesta
Envíe un cuerpo JSON con value, from_base y to_base. El opcional max_digits (por defecto treinta y dos, máximo sesenta y cuatro) limita cuántos dígitos destino se generan antes de parar; si un resto se repite antes, el ciclo se cierra con paréntesis y truncated es false. En éxito el cuerpo devuelve value normalizado, ambas bases, max_digits, el result como 0.0(0011), el prefijo non_repeating, el bloque repeating opcional, las banderas is_terminating e is_repeating, la longitud del periodo, el booleano truncated, un decimal_approx breve y una cadena formula. Dígitos inválidos para la base origen, bases fuera de dos a dieciséis, fracciones vacías y paréntesis mal formados fallan con invalid_input y no se facturan. Ejemplo: value 0.1, from_base diez y to_base dos produce la fracción binaria periódica de un décimo, no un bit redondeado.
Dónde aporta valor una API de base fraccionaria
Como la implementación es parse de nivel A, cada llamada correcta cuesta el precio base publicado $0.002 sin tokens de modelo ni red de salida; la validación fallida no consume saldo.
Preguntas técnicas
¿Cómo se convierte un número fraccionario entre dos bases?
Envíe value (p. ej. 0.1 o 0.1(6)), from_base y to_base como enteros 2–16. La API devuelve la fracción reescrita con paréntesis cuando detecta un ciclo periódico.
¿Qué controla max_digits?
Limita cuántos dígitos fraccionarios destino se emiten (por defecto 32, máximo 64). Los ciclos reales se cierran antes mediante el mapa de restos; solo expansiones largas no detectadas marcan truncated en true.
¿Cuánto cuesta el conversor de base fraccionaria?
La herramienta en el navegador es gratuita. Las peticiones API usan saldo prepago KIT a $0.002 por llamada correcta; la entrada inválida no se factura.