Gast
#1691420
Ich habe eine kleine Denksportaufgabe. Ich benoetige eine
Routine die alle Bits eines Bytes vertauscht. Also Bit7 wird
Bit0, bit6 nach bit1, bit0 nach bit7 usw.
Das hier ist mir eingefallen:
unsigned char shufflepixel(unsigned char pixel)
{
return (
((pixel&0x80)>>7) | ((pixel&0x40)>>5) | ((pixel&0x20)>>3) |
((pixel&0x10)>>1) |
((pixel&0x08)<<1) | ((pixel&0x04)<<3) | ((pixel&0x02)<<5) |
((pixel&0x01)<<7)
);
}
Das funktioniert natuerlich, aber da ich das brauche um bilder
in ein Format umzurechnen wie ein LCD es gerne haette, waere es
schoener wenn das ganze etwas schneller ginge. Vielleicht
kenn einer einen eleganten Trick?
Olaf