Diviser par 10 à l'aide de bits des changements?

Est-il possible de diviser un entier non-signé par 10 par le biais de la pure bits quarts de travail, l'addition, la soustraction et peut-être se multiplier? À l'aide d'un processeur avec des ressources très limitées et lent diviser.

  • Il est possible (soustraction répétée de la division), mais la question est de savoir si c'est plus vite que la lenteur de la division.
  • Désolé, je ne peux pas vous comprendre. Parlez-vous dans la base de 17 ou de la base de 22?
  • De la Base de deux. Décalage à droite divise par 2^n qui permettrait de résoudre votre question si par "10", tu veux dire 16 décimal ou 10h.
  • Êtes-vous disputer avec moi? Je suis en train d'essayer d'admettre que je n'ai pas parler de ma réponse n'était pas pour les décimales.... Peut-être un peu obscur, mais que c'était mon intention.
  • O - voir mon commentaire. Je n'ai pas remarqué un upvote....
  • Oui, je crois que je discutais avec vous, sur l'interprétation de l'10(base 10) 10(base 16). Je pense qu'une telle interprétation par défaut est rare, au mieux.
  • Connexes: Pourquoi ne GCC utilisent la multiplication par un nombre étrange dans la mise en œuvre de division entière?: Si vous avez un rapide se multiplient, vous pouvez diviser par des constantes de compilation avec juste une multiplication et une maj de la moitié haute, obtenir le résultat correct pour chaque dividende (à la différence de la accepté de répondre).

InformationsquelleAutor Thomas O | 2011-04-05