If you have some variable (on the stack) and you left or right bit shift beyond its end what happens?
i.e.
byte x = 1;
x >> N;
What if x is a pointer to memory cast to a byte and you do the same thing?
byte* x = obtain pointer from somewhere;
*x = 1;
*x >> N;