Deslocamento à esquerda usando potências de dois

Published by Deep Xavier in

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 = 20

Escreva uma função que imite (sem usar <<) o operador de deslocamento à esquerda e retorne o resultado dos dois inteiros fornecidos.

Exemplos

shiftToLeft(5, 2) ➞ 20

shiftToLeft(10, 3) ➞ 80

shiftToLeft(-32, 2) ➞ -128

shiftToLeft(-6, 5) ➞ -192

shiftToLeft(12, 4) ➞ 192

shiftToLeft(46, 6) ➞ 2944

Observaçõ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.