public static DevInt rightShift(DevInt input, DevInt shift) { DevInt tmp = new DevInt(input); while (shift > 0) { if (shift > Int32.MaxValue) { shift = shift - Int32.MaxValue; tmp = tmp >> Int32.MaxValue; } else { tmp = tmp >> BitConverter.ToInt32(shift.getBytes(), 0); shift = 0; } } return tmp; }