Ho registrato dati contenenti un vettore di sequenze di bit, che vorrei riordinare in modo efficiente. Un valore nel vettore di dati potrebbe essere la seguente:Efficente rimescolamento di bit del vettore di numeri binari
bit0, bit1, bit2, ... bit7
Vorrei ri-organizzare questo bit-sequenza in questo ordine:
bit0, bit7, bit1, bit6, bit2, bit5, bit3, bit4
Se avessi un solo valore questo dovrebbe funzionare piacevolmente via:
sum(uint32(bitset(0,1:8,bitget(uint32(X), [1 8 2 7 3 6 4 5]))))
Sfortunatamente bitset e bitget non sono in grado di gestire vettori di sequenze di bit. Dato che ho un set di dati abbastanza grande, sono interessato a soluzioni efficienti.
Qualsiasi aiuto sarebbe apprezzato, grazie!
Si può fornire i dati esempio di input e output nel formato esatto (si può fare un piccolo vettore di dire solo 3 campioni) – Dan