I wrote some C code to test this theory. Signed and unsugned shift left work the same. However signed and unsigned shift right are different. I used the gcc compiler. signed char c; c = -128; c=c>>1; //c == -64 c = -128; c=(unsigned char) c>>1; //c == 64 -John Mark Mobley