A operação de deslocamento à direita é semelhante à divisão inteira arredondada para baixo por potências de dois; portanto, o processo é repetitivo e pode ser feito de forma recursiva.
Cálculo de exemplo usando o operador de deslocamento à direita ( >> ):
80 >> 3 = floor(80/2^3) = floor(80/8) = 10
-24 >> 2 = floor(-24/2^2) = floor(-24/4) = -6
-5 >> 1 = floor(-5/2^1) = floor(-5/2) = -3Escreva uma função que imite (sem usar >>) o operador de deslocamento à direita e retorne o resultado dos dois inteiros fornecidos.
shift_to_right(80, 3) ➞ 10
shift_to_right(-24, 2) ➞ -6
shift_to_right(-5, 1) ➞ -3
shift_to_right(4666, 6) ➞ 72
shift_to_right(3777, 6) ➞ 59
shift_to_right(-512, 10) ➞ -1y.