按位转置8个字节

我在C中寻找一种有效的算法来按位转换8字节的数据。 我的意思是,如果我有8个这样的字节:

00011100 00111000 00000001 00000000 11000000 00000000 11111111 01010101 

我想获得以下8个字节:

 00001010 00001011 01000010 11000011 11000010 10000011 00000010 00100011 

而且由于我想在嵌入式平台上使用它,它应该尽可能快:-)

所有的想法都非常感谢!

请参阅Hacker’s Delight ,第7-3章。