Recursión: desplazamiento a la izquierda por potencias de dos

La operación de desplazamiento a la izquierda es similar a la multiplicación por potencias de dos, por lo que el proceso es repetitivo y puede realizarse de forma recursiva.

Cálculo de ejemplo usando el operador de desplazamiento a la izquierda (<<):

10 << 3 = 10 * 2^3 = 10 * 8 = 80
-32 << 2 = -32 * 2^2 = -32 * 4 = -128
5 << 2 = 5 * 2^2 = 5 * 4 = 20

Escribe una función recursiva que imite (sin usar <<) el operador de desplazamiento a la izquierda y devuelva el resultado de los dos enteros dados.

Ejemplos

shiftToLeft(5, 2) ➞ 20

shiftToLeft(10, 3) ➞ 80

shiftToLeft(-32, 2) ➞ -128

shiftToLeft(-6, 5) ➞ -192

shiftToLeft(12, 4) ➞ 192

shiftToLeft(46, 6) ➞ 2944

Notas

  • No habrá valores negativos para el segundo parámetro y.
  • Este desafío consiste en recrear la operación de desplazamiento a la izquierda, por lo que está prohibido usar directamente el operador.
  • Se espera que resuelvas este desafío mediante recursión.
  • Puedes encontrar una versión iterativa de este desafío en este enlace.
  • Puedes encontrar una colección de desafíos de recursión en este enlace.