128-bit hex a senary (base 6) efficiente tranlation in c

T

t_maggot

Guest
Devo tradurre uno a 128-bit-numero lungo (strega è conservato in 16 distinte in un array di byte) di un senary (base 6) 25-byte-lungo char (ascii) stringa.Sto cercando il codice che consumano meno spazio in memoria posible.In realtà mi chiedo che forse
c'è un modo per fare questa traduzione senza utilizzare a tutti i tipi di dati a lungo, esteso divisioni
ecc
Qualsiasi aiuto o direzioni apprezzato.Aggiunto dopo 4 ore e 17 minuti:Ok, ho trovato un modo per ottenere il numero (24 * 16) con 6 divisioni intero, 7 byte utilizzando parole come i dati temporanei.Questo può fare il lavoro per me, ma se qualcuno ha un modo migliore,
sei il benvenuto!

 
Potete provare il trucco usato per la conversione da bin a decimale: per ogni bit in numero decimale, moltiplicare il numero di senary due (ad esempio moltiplicare ogni cifra da due, da aggiungere portare ordine inferiore, se risultato> = 6, impostare e portare eseguire mod 6) e aggiungere il bit di numero decimale alla cifra meno significativa del senary parola.

Questo tende ad essere piuttosto lento, ma richiede un minimo di memoria e non solo la divisione turni, quindi è adatto per arbitrariamente lungo parole.

JW

 

Welcome to EDABoard.com

Sponsor

Back
Top