Deslocamento à esquerda usando potências de dois
A operação de deslocamento à esquerda é semelhante à multiplicação por potências de dois.
Cálculo de exemplo usando o operador de deslocamento à esquerda (<<):
10 << 3 = 10 * 2^3 = 10 * 8 = 80
-32 << 2 = -32 * 2^2 = -32 * 4 = -128
5 << 2 = 5 * 2^2 = 5 * 4 = 20Escreva uma função que imite (sem usar <<) o operador de deslocamento à esquerda e retorne o resultado dos dois inteiros fornecidos.
Exemplos
shift_to_left(5, 2) ➞ 20
shift_to_left(10, 3) ➞ 80
shift_to_left(-32, 2) ➞ -128
shift_to_left(-6, 5) ➞ -192
shift_to_left(12, 4) ➞ 192
shift_to_left(46, 6) ➞ 2944Observações
- Não haverá valores negativos para o segundo parâmetro
y. - Este desafio consiste em recriar a operação de deslocamento à esquerda; portanto, o uso direto do operador é proibido.
- Como alternativa, você pode resolver este desafio por meio de recursão.
- Uma versão recursiva deste desafio pode ser encontrada neste link.