Microprocesseurs
souzen
-
souzen Messages postés 43 Statut Membre -
souzen Messages postés 43 Statut Membre -
Bonjour,
Ecrire un programme e langage C pour additione deux grands nombres (>255) [sous la forme (x,y) dans le brouillant pas dans le programme,donc (x,y) +(x',y') et il va nous donner le resultat (x+x',y+y')],on suppose que le pc connait pas les grands nombres (additioner deux tableaux)
c'est ce que fait le systeme d'exploitation
voila un exemple:
on fait entrer (1,44) et on sait qu'elle signifie 300
et (1,144) signifie 400
1,44+1,144=2,584 qui doit etre 700
si le nombre apres la vergule (584) est superieur a 255 on doit le placer dans la case qui suit
(1,44)=300=100101100=(sur 16 bits) 0000000100101100
(1,144)=400=110010000=0000000110010000
s'il vous plait aidez moi,j'arrive pas a comprendre cet exercice
Ecrire un programme e langage C pour additione deux grands nombres (>255) [sous la forme (x,y) dans le brouillant pas dans le programme,donc (x,y) +(x',y') et il va nous donner le resultat (x+x',y+y')],on suppose que le pc connait pas les grands nombres (additioner deux tableaux)
c'est ce que fait le systeme d'exploitation
voila un exemple:
on fait entrer (1,44) et on sait qu'elle signifie 300
et (1,144) signifie 400
1,44+1,144=2,584 qui doit etre 700
si le nombre apres la vergule (584) est superieur a 255 on doit le placer dans la case qui suit
(1,44)=300=100101100=(sur 16 bits) 0000000100101100
(1,144)=400=110010000=0000000110010000
s'il vous plait aidez moi,j'arrive pas a comprendre cet exercice
A voir également:
- Microprocesseurs
- Que sont les microprocesseurs - Guide
1 réponse
Voici une petite explication
On va en fait considérer que je travaille en base 256, où chaque octet correspond à un chiffre. Du coup, ton (1,44) = 300 s'explique par le fait qu'il s'agit en fait de 1 x 256 + 44 x 1 = 256 + 44 = 300.
Ensuite, on procède à une addition ordinaire, comme si on la posais sur papier.
Donc, on fais deux tableaux de n cases (ici, deux cases chacun), plus un pour le résultat et on commence par les cases les plus à droite (poids faible). on additionne leur contenu, et on stocke le résultat dans la case la plus à droite, également, du tableau de sortie. Toutefois, si le résultat dépasse 256, ben on pose les 8 bits de poids faible - autrement dit, le résultat modulo 256 - et on retiens les huit autres - soit le résultat divisé par 256 -.
mais j'arrive pas a le faire en langage C parce que on pas encore fait le cours
On va corriger cet exercice demain,et je dois le faire mais j'y arrive pas s'il vous plait aidez,et emrci beaucoup
On va en fait considérer que je travaille en base 256, où chaque octet correspond à un chiffre. Du coup, ton (1,44) = 300 s'explique par le fait qu'il s'agit en fait de 1 x 256 + 44 x 1 = 256 + 44 = 300.
Ensuite, on procède à une addition ordinaire, comme si on la posais sur papier.
Donc, on fais deux tableaux de n cases (ici, deux cases chacun), plus un pour le résultat et on commence par les cases les plus à droite (poids faible). on additionne leur contenu, et on stocke le résultat dans la case la plus à droite, également, du tableau de sortie. Toutefois, si le résultat dépasse 256, ben on pose les 8 bits de poids faible - autrement dit, le résultat modulo 256 - et on retiens les huit autres - soit le résultat divisé par 256 -.
mais j'arrive pas a le faire en langage C parce que on pas encore fait le cours
On va corriger cet exercice demain,et je dois le faire mais j'y arrive pas s'il vous plait aidez,et emrci beaucoup