angelV Posté(e) le 30 octobre 2019 Signaler Share Posté(e) le 30 octobre 2019 Bonjour, Ci-joint mon devoir maison. Je ne comprends pas l'exercice 1, la partie 3 et 4 de l'exercice 3, et l'exercice 4. Dans l'exercice 1, comment définit on une fonction en pytthon. dans les partie 3 et 4, Qu'est qu'un nombre binaire non signé ? Comment dois -je procéder pour faire ces exercices. Comment expliciter ces termes techniques en language simple. Dans l'exercice 4, la partie je ne comprends pas du tout le 1.2, 1.3, exercice 2 et 3. Comment orienter ma réflexion. Les termes techniques ne dirigent pas la réflexion. J'ai réalisé l'exercice 2 complet. J'ai fais l'exercice 3, partie 1 et 2. Dans l'exercice 4, j'ai réussi à faire le 1.1. Merci pour votre aide. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
E-Bahut julesx Posté(e) le 30 octobre 2019 E-Bahut Signaler Share Posté(e) le 30 octobre 2019 (modifié) Bonjour et bienvenue sur le site. En attendant qu'un intervenant qualifié prenne le relais, quelques indications. Exercice 1 1) En python la structure d'une fonction est def nom(paramètres): paramètres est facultatitf suite d'instructions L'appel se fait par nom(...) ... le ou les paramètres auxquels on veut appliquer la fonction. Par exemple, ici, en utilisant les fonctions de Python, on aurait def conversion(texte): for car in texte: print(ord(car)) affiche la code ascii print(bin(ord(car))[2::]) affiche la conversion en binaire conversion("L'an qui vient 1") appelle la fonction avec le texte à convertir 2) Ne pose pas de problème. 3) Non, car le code ASCII de base ne code pas les a=caractères accentués. Exercice 3 Partie 3 Pour montrer que cette méthode ne convient pas. 4.1) A mon avis, non, d'après la définition 00000000 et 10000000 donnent tous les deux 0. 4.2) 3->00000011 -2->10000010 La somme des deux donne 10000100 soit -5 avec le mode de codage. Comme le résultat en décimal est 1, la méthode n'est pas bonne. Exercice 3 Partie 4 5.1) N+Non(N)=11111111 donc N+Non(N)+1=0 (la somme des huitièmes bits donnerait 0 avec un report de 1, mais ce report est perdu car il n'y a pas de 9ème bit) 5.2) On prend le complément à 1 et on ajoute 1. Exemple (non demandé) 3->00000011 2->00000010 complément à 1-> 11111101 +1->11111110 3-2->00000011+11111110=00000001 soit 1 en décimal. Cette méthode donne bien le bon résultat. 5.3) Pour -17 : 17->00010001 complément à 1->11101110 +1->11101111 Je te laisse faire pour -119 5.4) Pour 10110101 : On retranche 1->10110100 On prend le complément à 1->01001011 On convertit en décimal->75 Et on rajoute le signe moins->-75 N.B. : Avis à un informaticien "pur jus" ou à un mathématicien ? Ne pas hésiter à confirmer ou infirmer ce qui précède et, bien sur, à prendre la suite. Modifié le 30 octobre 2019 par julesx Rajout de réponses Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
angelV Posté(e) le 31 octobre 2019 Auteur Signaler Share Posté(e) le 31 octobre 2019 Merci Beaucoup pour toutes ces informations mais l'exercice dans lequel j'ai le plus de mal est l'exercice 4... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
E-Bahut julesx Posté(e) le 31 octobre 2019 E-Bahut Signaler Share Posté(e) le 31 octobre 2019 J'avais paré au plus pressé car la notion de nombre dyadique était également toute neuve pour moi. Là encore, ce qui suit est à prendre avec réserve. 1.1) a=13 -> en binaire 1101 ou en puissances de 2, 1*23+1*22+0*21+1*20. 1.2) En partant de l'écriture 1101, par analogie au système décimal, on fait apparaître une virgule (cf. le préambule) : division de a par 2 -> 110,1 division de a par 4 -> 11,01 Dans le préambule, on surligne le nombre, ici, on ne peut pas le faire 1.3) La méthode que je suggère pour un nombre effectivement dyadique : * S'il ne l'est pas sous la bonne forme, commencer par le mettre sous la forme a/2n en le multipliant par la puissance adéquate de 2 pour obtenir un entier au numérateur. * Décomposer le numérateur en somme de puissances de 2. * Diviser chaque terme par la puissance de 2 du dénominateur. * Mettre le résultat sous forme de 1 et de 0 et placer une virgule pour séparer les termes correspondants aux puissances positives de celles correspondant aux puissances négatives. Bon, à arranger selon ton goût. De toute façon, voir ci-après à titre d exemples. 2) 75/16=75/24 75=1*26+0*25+0*24+1*23+0*22+1*21+1*20. 75/16=1*22+0*21+0*20+1*2-1+0*2-2+1*2-3+1*2-4 75/16=100,1011 Je te laisse faire pour 101/8. 14,75 doit être converti ! 14,75=59/4=59/2² Ensuite on procède comme précédemment pour obtenir 1110,11. Je te laisse également faire pour 30,5. 3) La réponse est non, regarde sur la toile le pourquoi du comment. N.B. : Vérifie quand même les calculs, je ne suis pas infaillible. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
E-Bahut julesx Posté(e) le 1 novembre 2019 E-Bahut Signaler Share Posté(e) le 1 novembre 2019 La nuit portant conseil, petit complément à la question 1.3). Si on veut aller plus vite, après avoir mis le nombre sous la forme a/2n, il suffit d'écrire a sous forme binaire et de placer la virgule devant les n chiffres en partant de la droite. Exemple pour 101/8 : 101/8=101/23 101 > 1100101 n=3 d'où l'écriture en binaire de 101/8 : 1100,101. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
angelV Posté(e) le 3 novembre 2019 Auteur Signaler Share Posté(e) le 3 novembre 2019 Je vous remercie infiniment pour tout vos conseils, je vais travailler plus en détail exo après exo. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
E-Bahut julesx Posté(e) le 3 novembre 2019 E-Bahut Signaler Share Posté(e) le 3 novembre 2019 OK, si tu as besoin d'une explication complémentaire pour un ou l'autre exercice, n'hésite pas. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
angelV Posté(e) le 3 novembre 2019 Auteur Signaler Share Posté(e) le 3 novembre 2019 D'accord, merci beaucoup. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.