Ja dann würde ich vor dem Schieben schauen, was links oder rechts "rausfällt"

Code:
if (a&0x80)
   a = (a<<1)|0x01;
else
   a<<=1;
für links Schieben oder
Code:
if (a&0x01)
   a = (a>>1)|0x80;
else
   a>>=1;
für rechts Schieben.

Gruß Sebastian