Miglior algoritmo di compressione a due vie per numeri a 32 bit

1

Devo comprimere un ID per le campagne di marketing. L'ID della campagna corrente è intero a 32 bit, ma ovviamente questo è troppo lungo per un cliente da digitare a mano. Vorrei comprimerlo a una lunghezza minima pur mantenendo la compressione / decompressione a due vie e l'univocità dell'ID.

Quale algoritmo dovrei usare?

    
posta user594883 23.03.2016 - 11:17
fonte

1 risposta

9

Un id a 32 bit è costituito da così pochi dati con così poca ridondanza da sfruttare che un vero "algoritmo di compressione" probabilmente non aiuterà molto. D'altra parte, semplicemente usando una base numerica più alta in cui si usano lettere e cifre per rappresentare il numero probabilmente si ottiene esattamente quello che si sta cercando. Ad esempio, ecco il valore intero a 32 bit più grande possibile in diverse basi:

Binary      1111111111111111111111111111111

Ternary     12112122212110202101

Quaternary  1333333333333333

Quinary     13344223434042

Senary      553032005531

Octal       17777777777

Decimal     2147483647

Duodecimal  4BB2308A7

Hexadecimal 7FFFFFFF

Vigesimal   1DB1F927

Base 36     ZIK0ZJ

La Base 36 è un punto di arresto logico perché le lettere A-Z e le cifre 0-9 danno esattamente 36 simboli, quindi per andare a basi ancora più elevate sarebbe necessario introdurre qualcosa di meno ovvio e possibilmente difficile da scrivere.

Un "numero" di sei cifre dovrebbe essere abbastanza breve da consentire a chiunque di digitare facilmente a mano. Immagino che tu possa elaborare l'algoritmo triviale per convertire un numero da una base all'altra da solo.

    
risposta data 23.03.2016 - 11:40
fonte

Leggi altre domande sui tag