Hi!
Ich habs mal ausm Ärmel geschüttelt. (Also nicht getestet)
So müsste es gehen:
Code:
bla = (bla & 0xF5) | ((bla & 0x02)<<2) | ((bla & 0x08)>>2);
Ich ging mal davon aus dass du mit Bit 2 das Bit an zweiter stelle von rechts meintest. (LSB ist Bit1)
Wenn nicht, dann probiers damit: (LSB ist Bit0)
Code:
bla = (bla & 0xE6) | ((bla & 0x04)<<2) | ((bla & 0x10)>>2);
Ob das nun eine "elegante" Methode ist, darüber lässt sich sicher streiten.
Ich würds so machen...

Gruß