Convertitore base frazionaria
Lo 0.1 decimale è 0.0(0011) in binario: un ciclo di 4 cifre che si ripete all'infinito, non un bit arrotondato. Converta qualsiasi frazione tra le basi 2 e 16, con il blocco periodico tra parentesi e la lunghezza del periodo. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Valore
- 0.1
- Base di partenza
- 10
- Base di arrivo
- 2
- Risultato
- 0.0(0011)
- Massimo di cifre
- 32
- Parte non periodica
- 0
- Periodo
- 4
I convertitori di base intera si fermano al punto di base. Studenti, autori di compilatori e ingegneri embedded hanno ancora bisogno della metà frazionaria: lo 0.1 binario è un mezzo, lo 0.1 decimale è un decimo, e lo stesso razionale diventa un altro flusso di cifre — spesso con periodo — quando la base cambia. Questo convertitore di parte frazionaria accetta una frazione pura scritta in qualsiasi base di origine da due a sedici, opzionalmente con un blocco periodico tra parentesi come 0.1(6), ricostruisce il razionale esatto con aritmetica BigInt e riscrive il valore nella base di destinazione mappando i resti così che i periodi veri compaiano come 0. AB(C) e non come un troncamento opaco.
Perché convertire la parte frazionaria non è convertire interi
La conversione di interi percorre valori di posizione che crescono come potenze della base: unità, base, base al quadrato e così via. I valori frazionari si riducono: base alla meno uno, meno due, ecc. Quella sola differenza rompe ogni convertitore solo intero quando l’utente incolla 0.1, 0.
A3 o 0.0011. In base dieci, 0.1 è esattamente un decimo; in base due lo stesso decimo è lo sviluppo infinito 0.0(0011), perché dieci e due non condividono un fattore finito che termini entrambe le rappresentazioni. I manuali lo introducono con un terzo decimale uguale a 0.1 in base tre e 0.(3) in base dieci, ma la stessa identità vale per ogni coppia di basi da due a sedici.
Un convertitore di interi che sopprime silenziosamente il punto di base, o che moltiplica solo per grandi potenze e arrotonda, inventa un altro numero.
Contratto di ingresso, notazione periodica e forma della risposta
Le basi sono interi da due a sedici inclusi. Il campo value è solo la parte frazionaria: scriva 0. ABC, . ABC o ABC per uno sviluppo finito nell’alfabeto di origine 0–9 e A–F (senza distinzione di maiuscole).
Per un periodo noto in origine, aggiunga un blocco tra parentesi: 0.1(6) significa un sesto in base dieci scritto 0.1666…, e 0.(3) il tre puramente periodico. Una parte intera non nulla viene rifiutata — abbini questo strumento a un convertitore di interi se le servono entrambe le metà.
Quando serve convertire frazioni tra basi
Le aule di informatica usano un convertitore di parte frazionaria così gli studenti vedono che 0.1 decimale non è 0.1 binario e misurano la lunghezza del periodo senza divisione lunga a mano per ogni esercizio. Autori di compilatori e interpreti verificano tabelle di letterali incorporando costanti frazionarie in diverse sintassi di base. Ingegneri embedded e DSP confrontano pattern a virgola fissa binari ed esadecimali con fogli di progettazione decimali prima di congelare le larghezze di parola.
Mantenga richieste piccole, fissi nei test le stringhe dorate del result — incluse le parentesi del periodo — e otterrà riscritture frazionarie riproducibili per compiti, plugin LMS e worker edge senza erigere un sistema di algebra simbolica proprio.
Casi d'uso
Compiti di informatica e laboratori di basi
Converta frazioni di lezione come 0.1₁₀ ↔ binario o 0.A₁₆ ↔ decimale e mostri risultati terminanti contro periodici con la lunghezza del periodo.
Tabelle di compilatori e specifiche di linguaggio
Generi flussi esatti di cifre frazionarie verificando come i letterali numerici si riscrivono tra basi 2–16 in parser e suite di test.
Controlli a virgola fissa e progettazione DSP
Confronti valori di progetto decimali con pattern frazionari binari o hex prima di fissare la lunghezza di parola e i fattori di scala.
Domande frequenti
Quali basi sono supportate?
Basi di origine e destinazione da 2 a 16 inclusi. Le cifre sono 0–9 e A–F secondo le esigenze della base di origine.
Come si scrive la notazione periodica?
In ingresso usi un (blocco) finale come 0.1(6) o 0.( 3). In uscita gli sviluppi periodici appaiono come 0.prefisso(blocco) con period uguale alla lunghezza del blocco.
Perché lo 0.1 decimale non finisce mai in binario?
Perché un decimo non ha una scrittura finita in base due. Il convertitore ricostruisce la frazione esatta, rileva che le cifre 0011 si ripetono all'infinito e scrive 0.0(0011), con periodo 4, invece di una sequenza di bit arrotondata.
Posso convertire un numero con una parte intera?
No. Si accetta solo la parte dopo il punto, e una parte intera diversa da zero viene rifiutata. Converta la parte intera con un convertitore di basi per interi e poi unisca le due metà.
Quante cifre mostra il risultato?
Fino a 32 cifre dopo il punto per impostazione predefinita, e fino a 64 se alza il limite. Se un ciclo si ripete prima viene chiuso tra parentesi; se arriva prima il limite, il risultato segnala che è stato troncato.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"value": "0.1",
"from_base": 10,
"to_base": 2
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.base_fraction_convert",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Un tetto max_digits limita sviluppi patologici.
Perché convertire la parte frazionaria non è convertire interi
Progettisti di formati a virgola fissa, demo in stile IEEE e tabelle di costanti assembly necessitano continuamente di quella riscrittura con una risposta onesta su terminazione rispetto alla lunghezza del periodo. Questa capacità non arrotonda mai l’origine: analizza le cifre in una frazione ridotta esatta ed emette le cifre di destinazione con la classica mappa dei resti, così casi terminanti, puramente periodici e misti restano fedeli finché max_digits non impone un arresto controllato.
Contratto di ingresso, notazione periodica e forma della risposta
Invii un corpo JSON con value, from_base e to_base. L’opzionale max_digits (predefinito trentadue, massimo sessantaquattro) limita quante cifre di destinazione vengono generate prima di fermarsi; se un resto si ripete prima, il ciclo si chiude con parentesi e truncated è false. In caso di successo il corpo restituisce value normalizzato, entrambe le basi, max_digits, il result come 0.0(0011), il prefisso non_repeating, il blocco repeating opzionale, i flag is_terminating e is_repeating, la lunghezza del periodo, il booleano truncated, un decimal_approx breve e una stringa formula. Cifre non valide per la base di origine, basi fuori da due–sedici, frazioni vuote e parentesi malformate falliscono con invalid_input e non vengono fatturate. Esempio: value 0.1, from_base dieci e to_base due produce la frazione binaria periodica di un decimo, non un bit arrotondato.
Dove un’API di base frazionaria ripaga il costo
Poiché l’implementazione è parse di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita; la validazione fallita non consuma saldo.
Domande tecniche
Come si converte un numero frazionario tra due basi?
Invii value (ad es. 0.1 o 0.1(6)), from_base e to_base come interi 2–16. L’API restituisce la frazione riscritta con parentesi quando rileva un ciclo periodico.
Cosa controlla max_digits?
Limita quante cifre frazionarie di destinazione vengono emesse (predefinito 32, massimo 64). I cicli veri si chiudono presto tramite la mappa dei resti; solo lunghi sviluppi non rilevati impostano truncated a true.
Quanto costa il convertitore di base frazionaria?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l’input non valido non viene fatturato.