Como posso executar a multiplicação sem o operador '*'?

Eu estava passando por algumas coisas básicas enquanto aprendia C. Fiz uma pergunta para multiplicar um número por 7 sem usar o operador *. Basicamente, é assim

      (x << 3) - x;

Agora eu sei sobre operações básicas de manipulação de bits, mas não consigo entender como você multiplica um número por outro número ímpar sem usar o operador *? Existe um algoritmo geral para isso?

questionAnswers(4)

yourAnswerToTheQuestion