Es la multiplicación y división usando operadores de cambio en C realmente más rápida?
a multiplicación y la división se pueden lograr utilizando operadores de bits, por ejemplo,
i*2 = i<<1
i*3 = (i<<1) + i;
i*10 = (i<<3) + (i<<1)
y así
¿Es realmente más rápido usar say(i<<3)+(i<<1)
para multiplicar por 10 que usandoi*10
directamente? ¿Hay algún tipo de entrada que no se pueda multiplicar o dividir de esta manera?