logo Homepage
+  NewbieContest
Username:
Password:
  Voir les messages
Pages: [1]
1  Programmation / Langages compilés / Re : Mathématiques dans le C le: 26 Janvier 2015 à 20:16:15
Merci, tu as tout à fait répondu à ma question. C'est donc bien une histoire de stockage et d'arrondi.
Merci bonne soirée à toi !
2  Programmation / Langages compilés / Mathématiques dans le C le: 23 Janvier 2015 à 11:25:09
Bonjour tout le monde. Moi c'est Matsui, je viens de débuter le C et je fais quelques exos. Le C en lui même ça va, logique, tout va bien, par contre je bute pas mal sur les notions mathématiques étant issu d'une filière littéraire. Voici mon problème :
J'ai fais un exercice, il s'agissait de comprendre le code suivant et de donner les résultats avant de le compiler, mes commentaires sont mes réponses :
Code:
#include <stdio.h>

int main ()
{
int n = 543 ;
int p = 5 ;
float x = 34.5678 ;
printf ("A : %d %f\n", n, x) ; /* affiche correctement, int 543 et float 34.567800 */
printf ("b : %4d %10f\n", n, x) ; /* affiche ^543, ^34.567800*/
printf ("C : %2d %3f\n", n, x) ; /*affiche 543, car printf affiche le nombre de gabarit nécessaire, 34.5678 */
printf ("d : %10.3f %10.3e\n", x, x) ; /*affiche, ^^^^34.567, ^^^^34.567e+000*/
printf ("e : %*d\n", p, n);/* 543  suivit de 5 espaces*/
printf ("f : %*.*f\n", 12, 5, x); // ^^^34.5678

}

voici le résultat
Citation
A : 543 34.5677986145
b :  543  34.567799
C : 543 34.567799
d :     34.568  3.457e+01
e :   543
f :     34.56780
J'ai a peu près bon, mais pourquoi printf n'affiche les 800  ? J'ai plus ou moins compris le concept de contracture, mais pourquoi ? Le Float n'est pas assez grand pour le contenir ? J'y ai pensé mais j'y crois moyen.
Voilà, merci à vous.
Pages: [1]