unsigned char x=1; x=(x++)<<3;
x=(++x)<<3; works it gives 16
Sorry about that, I didn't mean to use the pre tag at all. - Mark