-
Programme en langage C
Bonjour j’aurais besoin d’aide pour ecrire ce programme en language C,Quelqu’un pour aider s’il vous plait
Voici les instructions:
1)Je voudrais ecrire une fonction qui fait la somme de deux nombres entiers signés sur 16 bits. Cette fonction doit permettre de détecter les cas de débordements positifs et négatifs
2)construire deux fonctions qui évaluent l’epsilon de l’architecture INTEL ainsi que le nombre de chiffres binaires significatifs de la partie fractionnaire
3)implantez deux fonctions qui calculent la sommation successive de 1/n pour n itérations
4)implantez une fonction sommeascf(n) qui permet de faire la sommation ascendante et une autre fonction sommedescf(n) pour la sommation descendante de nombres réels SP.etenfin Implantez aussi les fonctions sommeascd(n) et sommedescd(n) dans le cas de nombres réels DP.
-
Bonjour,
Pour le 1, la somme de deux valeurs dont le type est short int ?
Une question après l'autre, c'est mieux...
Sinon, tu aurais pu montrer un début de travail, ça aurait été intéressant de pointer sur tes erreurs.
-
La question 1 signifie aussi sans doutes que le résultat doit être dans les limites d'un entier signé codé sur 16 bits (même si la question est imprécise sur ce point), en raison du fait qu'il est demandé de vérifier l'absence de débordement.
Dans le standard, short int est seulement garantit d'avoir au moins 16 bits (tout comme int, d'ailleurs).
En C99, on dispose des typedef définis dans stdint.h, où tu trouves le type int16_t.
Si on programme en C89, j'imagine que l'on peut procéder par tâtonnements avec les limites définies dans limits.h pour vérifier que les types que l'on vise ont la bonne taille.
Donc, la question est encore imprécise sur la question de savoir quel standard du C doit être utilisé.
Une fois que l'on connaît les limites à prendre en compte, on sait faire le contrôle de débordement.
Programmerjr, ne pense pas que tu aies lu cette partie des règles du forum : http://club.developpez.com/regles/#LIV-N
Eks
-
oui c'est le resultat doit etre dans les limites d'un entier codé signé sur 16 bits,merci pour l eclaircissement