Hola amigo.
bueno pues supongo que te sigue mostrando el valor de x por que para hacer un desplazamiento el valor de y debe ser menor que el de x.
aquí te dejo un ejemplo.
Código C:
Ver original#include <iostream>
using namespace std;
int main()
{
int signed x = -9;
int signed y = 8;
cout << "el valor es " << (x >> y) << endl;
return(0);
}
Bueno espero que te sea de ayuda.
Saludos.
Drewermerc.