Microprocesseurs

Fermé
souzen - 17 oct. 2008 à 01:05
souzen Messages postés 41 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 5 janvier 2009 - 18 oct. 2008 à 23:16
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

1 réponse

souzen Messages postés 41 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 5 janvier 2009 26
18 oct. 2008 à 23:16
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
-1