ForHosting KIT · Matematica

Codifica di Fibonacci

Trasformi qualsiasi intero positivo nel suo codice di Fibonacci: 6 diventa 10011, con gli addendi 1 e 5. Ogni codice termina con 11, quindi una serie di codici si separa senza indicare lunghezze, utile negli esercizi di compressione e nella progettazione di protocolli. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
N
6
Ottiene
Codice di Fibonacci
10011
Lunghezza in bit
5
Termini di Zeckendorf
1, 5

La codifica di Fibonacci è un codice binario universale che associa a ogni intero positivo una stringa di bit unica che termina sempre con due uni consecutivi. La costruzione si fonda sul teorema di Zeckendorf: ogni intero positivo è la somma di numeri di Fibonacci non consecutivi della successione che inizia con uno, due, tre, cinque, otto, e così via. Collocate un uno per ogni addendo, uno zero per ogni termine di base omesso a partire da F due, poi aggiungete un bit terminatore finale affinché il codice termini con undici. Studenti di teoria dell'informazione, compiti di compressione e progettisti di protocolli che necessitano di una codifica auto-delimitata di interi usano questo convertitore per verificare esempi senza costruire a mano la tabella di Fibonacci.

Cos'è la codifica di Fibonacci e perché termina con 11

La codifica di Fibonacci appartiene alla famiglia dei codici universali per interi positivi: ogni n maggiore o uguale a uno riceve una parola binaria, e nessuna parola codice è prefisso di un'altra, cosicché un flusso di codici può essere analizzato senza prefissi di lunghezza. Il fatto matematico centrale è il teorema di Zeckendorf.

Usando la successione di Fibonacci scritta come F due uguale a uno, F tre uguale a due, F quattro uguale a tre, F cinque uguale a cinque, e così via (la successione usuale senza la prima duplicazione dell'uno), ogni intero positivo ha una rappresentazione unica come somma di termini non consecutivi di quella successione. La codifica colloca un bit sotto ogni valore di base da F due fino al massimo addendo che compare: il bit è uno quando quel numero di Fibonacci è usato e zero altrimenti.

Poiché Zeckendorf vieta due uni consecutivi nei bit di base, il bit più alto usato è sempre uno e non è mai seguito da un altro uno all'interno della base. L'aggiunta di un unico uno terminatore produce quindi una fine distintiva di due uni consecutivi. Quel motivo è il segnale di stop del decodificatore: leggete i bit finché non vedete undici, togliete l'uno finale e recuperate la somma di Zeckendorf.

I piccoli valori classici rendono il motivo concreto. Uno si codifica come undici, due come zero uno uno, tre come zero zero uno uno, quattro come uno zero uno uno, cinque come zero zero zero uno uno e sei come uno zero zero uno uno. Un n più grande estende semplicemente la tabella di Fibonacci fino al massimo Fk non superiore a n, esegue la selezione avida dall'alto ed emette la stessa stringa terminata.

La lunghezza del codice cresce come O del logaritmo in base phi di n, cosicché anche grandi interi sicuri restano stringhe di bit corte adatte a demo, vettori di test e diapositive sui codici di interi senza prefisso.

Dove serve la codifica di Fibonacci

I corsi di teoria dell'informazione e di compressione usano la codifica di Fibonacci come codice universale concreto accanto a Elias gamma e delta; un convertitore dal vivo consente agli studenti di verificare le codifiche dei compiti per interi positivi arbitrari senza costruire ogni volta un foglio di Fibonacci. La programmazione competitiva e i blog di algoritmi che trattano rappresentazioni di Zeckendorf, sistemi di numerazione di Fibonacci o flussi auto-delimitati necessitano di un oracolo deterministico che restituisca la stringa di bit e gli addendi per i test unitari.

I progettisti di protocolli che valutano codifiche di interi a lunghezza variabile possono confrontare le lunghezze del codice di Fibonacci con schemi a larghezza fissa e in stile LEB128 su sequenze di ID di esempio prima di fissare un formato di rete. La validazione fallita non consuma saldo.

Verifica dei compiti di teoria dell'informazione

Gli studenti codificano a mano interi positivi con tabelle di Zeckendorf e verificano il codice binario di Fibonacci (sempre terminato con 11) rispetto a un oracolo deterministico.

Demo di compressione e codici universali

I materiali didattici confrontano la lunghezza della codifica di Fibonacci con i codici di Elias su interi di esempio e mostrano il motivo terminatore che rende il flusso senza prefisso.

Come si converte un numero in codice di Fibonacci?

Inviate un intero positivo n (n ≥ 1).

Perché ogni codice di Fibonacci termina con 11?

I bit di Zeckendorf non terminano mai con due uni consecutivi; un terminatore 1 viene aggiunto dopo il bit di base più alto (sempre 1), producendo il motivo di stop 11 distintivo per una decodifica unica.

Cosa succede se n è zero o negativo?

La codifica di Fibonacci è definita solo per interi positivi (n ≥ 1) e le richieste non valide non vengono addebitate.

Quale successione di Fibonacci usa il codificatore?

La selezione avida produce l'espansione di Zeckendorf unica senza termini consecutivi.

Qual è il codice di Fibonacci di 12?

12 si codifica come 101011. I suoi addendi di Zeckendorf sono 1, 3 e 8, che sommati danno 12, e l’1 finale aggiunto forma l’11 di chiusura che segnala la fine del codice.

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.

POSThttps://api.kit.forhosting.com/numth/fibonacci-coding

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/numth/fibonacci-coding \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":6}'
{
  "n": 6
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.fibonacci_coding",
  "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.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Lo stesso algoritmo puro alimenta lo strumento gratuito del browser e il percorso API a pagamento, cosicché un esempio aureo di lezione coincide byte per byte con l'automazione di produzione, senza modello e senza rete all'interno del risolutore.

Contratto di ingresso, campi di risposta ed errori

Esempio: n uguale a uno produce il codice minimo undici con un solo termine di Zeckendorf uguale a uno. Esempio: n uguale a dodici produce uno zero uno zero uno uno con addendi uno, tre e otto. I client che necessitano solo della stringa di bit possono ignorare i campi didattici; correttori e notebook possono verificare codice e addendi per cogliere errori di sfasamento nella tabella manuale dello studente. Inviate con POST un corpo JSON con un solo campo obbligatorio n: un intero positivo maggiore o uguale a uno. Il valore può arrivare come numero JSON nell'intervallo degli interi sicuri o come stringa di cifre che si normalizza allo stesso intervallo. n assente, stringhe vuote, non interi, valori non finiti, zero e qualsiasi numero negativo falliscono con invalid_input e non vengono addebitati. In caso di successo la risposta ripete n, restituisce fibonacci_code come la stringa binaria che termina sempre con undici, riporta bit_length come la lunghezza in caratteri di quella stringa, elenca zeckendorf_terms come gli addendi di Fibonacci in ordine crescente che ricostruiscono n, e include una breve formula che riformula la costruzione da mostrare accanto alla risposta. Esempio: n uguale a sei produce fibonacci_code uno zero zero uno uno, bit_length cinque e zeckendorf_terms uno e cinque, perché cinque più uno fa sei e i bit di base da F due a F cinque sono uno, zero, zero, uno prima del terminatore. L'implementazione è parse pura di livello A: nessuna rete in uscita, nessuna casualità, nessuna dipendenza dall'orologio, cosicché lo stesso n produce sempre lo stesso payload ed è sicuro fissarlo in test aurei automatizzati.

Dove un'API di codifica di Fibonacci è utile

Poiché ogni chiamata riuscita è un elemento fatturabile a $0.002 con costo analitico ben sotto quel pavimento, la capacità resta economica per script di correzione in batch e worker all'edge.

Vettori di test per strumenti Zeckendorf

Gli script che implementano numerazione di Fibonacci o ID auto-delimitati possono fissare fibonacci_code e zeckendorf_terms per molti n senza incorporare una seconda implementazione.

Quanto costa il convertitore di codifica di Fibonacci?

Lo strumento nel browser è gratuito. Le richieste API usano il saldo KIT prepagato a $0.002 per chiamata riuscita; l'input non valido non viene addebitato.

Leggi la documentazione completa del KIT →