static int rightShift(int x, int n) { int s = n & 31; x = (x & 0xFFFFFFFF).toSigned(32); return ((x >> s) | ((x << (32 - s)) & 0xFFFFFFFF)).toSigned(32); }