Je cherche un algorithme efficace en C pour transposer bit à bit 8 octets de données. Ce que je veux dire avec ceci est que si j'ai 8 octets comme ceci:Transposition bit à bit de 8 octets
00011100
00111000
00000001
00000000
11000000
00000000
11111111
01010101
Je veux obtenir les 8 octets suivants:
00001010
00001011
01000010
11000011
11000010
10000011
00000010
00100011
Et comme je veux l'utiliser sur une plate-forme intégrée, il devrait être aussi rapide que possible :-)
Toutes les idées sont très appréciées!
Qu'est-ce que cela signifie? Je ne vois pas la relation entre l'entrée et la sortie désirée. Voulez-vous utiliser une table de recherche simple (256 octets)? –
@Richard: C'est une transposition matricielle; rangée deviennent des colonnes et vice versa. Si vous lisez la colonne la plus à gauche du résultat, elle est égale à la première ligne de l'entrée. Comme il y a 64 bits d'entrée indépendants, une table de consultation devient ... grande. – unwind
Les colonnes obtiennent des lignes et vice versa. – tur1ng