Estoy buscando un algoritmo eficiente en C para transponer en bits 8 bytes de datos. Lo que quiero decir con esto es que si tengo 8 bytes como este:Transposición a través de bit de 8 bytes
00011100
00111000
00000001
00000000
11000000
00000000
11111111
01010101
que desee obtener los siguientes 8 bytes:
00001010
00001011
01000010
11000011
11000010
10000011
00000010
00100011
Y como yo quiero usar esto en una plataforma integrada, debe ser lo más rápido posible :-)
¡Todas las ideas son muy apreciadas!
¿Qué significa esto? No veo la relación entre la entrada y la salida deseada. ¿Desea utilizar una tabla de búsqueda simple (256 bytes)? –
@Richard: Es una matriz transpuesta; fila se convierten en columnas y viceversa. Si lee la columna más a la izquierda del resultado, es igual a la primera fila de la entrada. Como hay 64 bits de entrada independientes, una tabla de consulta se vuelve ... grande. – unwind
Las columnas están recibiendo filas y viceversa. – tur1ng