Convertitore di basi
Riscrive un intero da una base tra 2 e 36 a un'altra: l'esadecimale FF vale 255 in decimale. Ogni cifra viene controllata rispetto alla sua base, quindi una cifra non valida viene segnalata invece che indovinata. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Valore
- FF
- Base numerica di origine
- 16
- Base numerica di destinazione
- 10
- Risultato
- 255
- Normalizzato
- FF
- In base dieci
- 255
- Conteggio cifre
- 3
Un convertitore di basi riscrive lo stesso intero in un’altra base numerica senza modificarne il valore. Binario, ottale, decimale ed esadecimale compaiono ogni giorno nei corsi di programmazione, maschere di rete, codici colore e firmware embedded, e basi oltre il sedici appaiono in schemi seriali compatti e problemi di gara. Questo strumento accetta un intero scritto con le cifre da zero a nove e le lettere da A a Z in qualsiasi base di origine da due a trentasei, verifica che ogni cifra sia legale per quella base, quindi emette la stringa equivalente nella base di destinazione.
Come la conversione di base preserva il valore intero
Un intero in base b è una somma pesata delle sue cifre: la cifra più a destra vale uno, la successiva vale b, poi b al quadrato, e così via. Convertire dalla base b alla base k significa recuperare quell’unico intero non negativo e riscriverlo con pesi che sono potenze di k.
In pratica, il convertitore scorre la stringa di origine da sinistra a destra, moltiplica il totale parziale per la base di origine e aggiunge il valore di ciascuna cifra dopo aver confermato che è strettamente minore della base di origine. Le cifre da zero a nove si mappano su se stesse; le lettere da A a Z (senza distinzione di maiuscole) si mappano da dieci a trentacinque.
Una volta noto l’intero assoluto, la rappresentazione di destinazione si ottiene con divisioni ripetute per la base di destinazione, raccogliendo i resti come cifre e leggendoli dall’ultimo resto al primo. Lo zero è un’unica cifra zero in ogni base. Un segno meno iniziale è conservato per valori non nulli; i segni più sono accettati e scartati.
Gli zeri iniziali nell’origine sono ignorati per il valore, ma la risposta restituisce anche una forma normalizzata in maiuscolo senza zeri iniziali superflui così che i chiamanti possano confrontare le stringhe in modo deterministico. La magnitudine decimale assoluta è limitata dal limite degli interi sicuri di JavaScript, così ogni resto e ogni valore di posizione restano esatti—senza deriva in virgola mobile, senza librerie esterne e senza chiamate di rete di alcun tipo.
Dove la conversione di basi compare nel lavoro reale
Gli studenti che depurano compiti sulle operazioni bit a bit hanno bisogno di un oracolo affidabile che segnali una cifra illegale invece di avvolgere in silenzio o inventare un risultato. Ingegneri di firmware e reti passano da maschere binarie, bit di permesso in ottale e dump di registri in esadecimale quando documentano un dispositivo o esaminano una cattura. I team di prodotto che generano codici alfanumerici compatti in basi oltre il dieci hanno ancora bisogno di una traccia di audit in base dieci per strumenti di supporto e magazzini.
Se in seguito le serve codifica binaria Base64, conversione di unità di grandezze fisiche o una somma di cifre in una base scelta, quelle sono intenzioni di ricerca e landing distinte, non sovraccarichi di questo convertitore di basi.
Casi d'uso
Esercizi di classe in binario, ottale ed hex
Converta i valori dei compiti tra le basi 2, 8, 10 e 16 con errori chiari di cifra non valida che gli studenti possano correggere.
Dump di registri firmware e di rete
Riscriva valori di registro esadecimali come stringhe di bit binarie o conteggi decimali per documentazione, ticket e revisioni del codice.
Domande frequenti
Quali basi sono supportate?
Qualsiasi base intera da 2 a 36 sia per l’origine sia per la destinazione. Le cifre usano 0-9 e poi A-Z (senza distinzione di maiuscole in ingresso).
Le lettere distinguono maiuscole e minuscole?
Le lettere in ingresso non distinguono le maiuscole. L’uscita usa sempre A-Z in maiuscolo per le cifre da dieci in su.
Come vengono gestiti i numeri negativi?
È accettato un segno meno iniziale opzionale. Il valore assoluto viene convertito e il segno viene ripristinato sui risultati non nulli.
Quanto costa?
Lo strumento del browser è gratuito e gira in locale.
Come si scrive 255 in binario?
Come otto uno di seguito. Scelga 10 come base di partenza e 2 come base di arrivo; lo stesso numero è FF in esadecimale, perché 255 è il valore più grande che sta in otto cifre binarie.
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/numth/radix-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"FF","from_base":16,"to_base":10}'const res = await fetch("https://api.kit.forhosting.com/numth/radix-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "FF",
"from_base": 16,
"to_base": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/radix-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "FF",
"from_base": 16,
"to_base": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/radix-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"FF","from_base":16,"to_base":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"FF","from_base":16,"to_base":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/radix-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": "FF",
"from_base": 16,
"to_base": 10
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.radix_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.
Limiti
min_base | 2 |
max_base | 36 |
max_value_chars | 64 |
max_abs_decimal | 9007199254740991 |
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
Cosa invia e cosa riceve in risposta
Controlli classici includono esadecimale FF in decimale duecentocinquantacinque, decimale duecentocinquantacinque in binario otto uni, e ottale sette cinque cinque in decimale quattrocentonovantatré. Fornisca tre campi: value come il testo intero nell’alfabeto di origine, from_base come un intero da due a trentasei, e to_base come la base di destinazione nello stesso intervallo. Sono accettati alias più amichevoli: number, n, input o text per il valore; from, source_base, base_from o src_base per la base di origine; to, target_base, base_to o dst_base per la base di destinazione. Campi mancanti, basi non intere, basi fuori da due a trentasei, valori vuoti, caratteri illegali, cifre troppo grandi per la base di origine, corpi più lunghi di sessantaquattro caratteri significativi o magnitudini oltre il limite degli interi sicuri sono rifiutati con invalid_input e non vengono addebitati. In caso di successo la risposta ripete la stringa value originale e le basi effettive, fornisce normalized come la forma canonica con segno in maiuscolo, decimal come l’intero con segno in base dieci, result come la stringa convertita nella base di destinazione, negative come booleano e digit_count come il numero di cifre del corpo assoluto del risultato.
Dove la conversione di basi compare nel lavoro reale
Poiché questa capacità è un motore di parse puro, lo stesso valore e le stesse basi producono sempre lo stesso JSON senza deriva del modello e senza stato memorizzato. Il prezzo API è la base pubblicata di $0.002 per elemento riuscito; la validazione fallita non consuma saldo.
Casi di integrazione
Fixture golden di gare e CI
Generi stringhe deterministiche in base b da interi noti per test di gare di programmazione e asserzioni di pipeline.
Domande tecniche
Cosa succede se una cifra non è valida per la base di origine?
La richiesta fallisce con invalid_input, indicando il carattere errato e l’intervallo di cifre consentito. L’ingresso non valido non viene addebitato.