Le factorielle d'un entiers (sans utilisé du "PRODUIT" )
Fermé
mOOm123
Messages postés
3
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
22 novembre 2016
-
Modifié par mOOm123 le 22/11/2016 à 00:53
mOOm123 Messages postés 3 Date d'inscription mardi 22 novembre 2016 Statut Membre Dernière intervention 22 novembre 2016 - 22 nov. 2016 à 20:17
mOOm123 Messages postés 3 Date d'inscription mardi 22 novembre 2016 Statut Membre Dernière intervention 22 novembre 2016 - 22 nov. 2016 à 20:17
A voir également:
- Le factorielle d'un entiers (sans utilisé du "PRODUIT" )
- Clé de produit windows 10 gratuit - Guide
- Comment savoir si quelqu'un utilise mon adresse ip - Guide
- Comment utiliser un chromecast - Guide
- Une personne non-voyante utilise un logiciel qui lit les textes et décrit les images. sans utiliser de logiciel spécifique, trouvez, dans le document, comment s’appelle le chien de la photo. - Forum Cinéma / Télé
- Votl , le chien - Forum Cinéma / Télé
2 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
Modifié par KX le 22/11/2016 à 07:01
Modifié par KX le 22/11/2016 à 07:01
Bonjour,
"il n'y a pas une instruction pour le "produit" c'est la raison pour laquelle je veux que sa soit en somme"
Ce n'est pas très efficace de faire la somme pour calculer un produit.
Il vaudrait mieux faire ça avec des décalages de bits pour les puissances de 2.
Ex: 7*8=7*2^3, c'est à dire qu'il faut juste mettre 7 en binaire (111) et rajouter 3 zéros derrières, résultat 111000 (en binaire), c'est à dire 56.
Tu auras donc faire 1 instruction de décalage de bits (shift en anglais), ce qui est bien mieux que faire 7 sommes de 8 (ou 8 sommes de 7)...
En Java, les décalages de bits se font avec <<
Exemple :
La confiance n'exclut pas le contrôle
"il n'y a pas une instruction pour le "produit" c'est la raison pour laquelle je veux que sa soit en somme"
Ce n'est pas très efficace de faire la somme pour calculer un produit.
Il vaudrait mieux faire ça avec des décalages de bits pour les puissances de 2.
Ex: 7*8=7*2^3, c'est à dire qu'il faut juste mettre 7 en binaire (111) et rajouter 3 zéros derrières, résultat 111000 (en binaire), c'est à dire 56.
Tu auras donc faire 1 instruction de décalage de bits (shift en anglais), ce qui est bien mieux que faire 7 sommes de 8 (ou 8 sommes de 7)...
En Java, les décalages de bits se font avec <<
Exemple :
System.out.println(7 << 3); // 56
La confiance n'exclut pas le contrôle
josaphat_mayuba
Messages postés
16
Date d'inscription
samedi 12 novembre 2016
Statut
Membre
Dernière intervention
22 novembre 2016
1
22 nov. 2016 à 07:23
22 nov. 2016 à 07:23
tu peux utiliser une méthode récursive cela fait très longtemps que j'ai travaillé avec l'assembleur mais je pense qu'il est possible de faire une méthode récursive.
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
22 nov. 2016 à 18:10
22 nov. 2016 à 18:10
La récursivité n'améliorera pas le programme, ça ne fait que cacher une manipulation de piles, inutiles dans le cas présent.
De plus si le langage n'autorise pas les produits (ce qui est déjà une aberration en soit) je ne le vois pas gérer la récursivité non plus (mais je n'ai pas vérifié)
De plus si le langage n'autorise pas les produits (ce qui est déjà une aberration en soit) je ne le vois pas gérer la récursivité non plus (mais je n'ai pas vérifié)
Utilisateur anonyme
>
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
22 nov. 2016 à 18:41
22 nov. 2016 à 18:41
Bonjour
Si, si, on peut gérer la récursivité en assembleur 8085. Mais c'est "sportif" et complètement inutile ici.
Par contre, il est parfaitement normal que le langage n'autorise pas les produits. L'assembleur, par définition, reflète directement les instructions du processeur, et l'unité arithmétique et logique du 8085 ne dispose pas de la multiplication. N'oublions pas que c'est un ancêtre.
Si, si, on peut gérer la récursivité en assembleur 8085. Mais c'est "sportif" et complètement inutile ici.
Par contre, il est parfaitement normal que le langage n'autorise pas les produits. L'assembleur, par définition, reflète directement les instructions du processeur, et l'unité arithmétique et logique du 8085 ne dispose pas de la multiplication. N'oublions pas que c'est un ancêtre.
mOOm123
Messages postés
3
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
22 novembre 2016
22 nov. 2016 à 20:17
22 nov. 2016 à 20:17
XD ! Oui c'est un ancêtre comme vous le dite mais c'est le prof qui nous demandé .
22 nov. 2016 à 20:14