Multiplication de deux nombres entiers à l'aide des opérateurs au niveau du bit

Comment puis-je multipy deux nombres entiers à l'aide opérateurs au niveau du bit?

J'ai trouvé une mise en œuvre ici. Est-il une meilleure façon de la mise en œuvre de la multiplication?

Par exemple: 2 * 6 = 12 doit être effectuée à l'aide d'opérateurs au niveau du bit.

REMARQUE: les Chiffres sont arbitraires, pas la puissance de 2

  • A-t-elle à prendre arbitraire des entiers? Il y a un moyen facile de mettre en œuvre la multiplication si l'un des opérandes doit être une puissance de deux. Aussi, est-ce un devoir à la maison ou que vous essayez de mettre en œuvre une multiplication dans l'assemblée sur un processeur avec jeu d'instructions qui ne comprennent pas de multiplication (ou les deux)?
  • puissance de deux mise en œuvre est facile, mais dans ce cas, les entiers ne sont pas une puissance de deux, ils sont arbitraires. Et il n'est pas de Devoirs question, c'est une question d'entrevue. Veuillez vérifier la mise en œuvre, j'ai joint.
  • Le lien en question n'existent pas
InformationsquelleAutor SuperMan | 2010-12-16