Format des nombres en C

Format des nombres en C - C - Programmation

Marsh Posté le 03-05-2014 à 21:38:03    

Bonjour,  
 
Je voudrais savoir si il y avais une méthode simple pour les nombres dans le codage C.
Le truc c'est que je connais pas du tout les termes techniques, et que je suis une brelle pour la communication avec les autres.
Alors alors, sans partir trop loin, je voudrais parler des types de données pour les nombres en C.
Voila je m'explique (ahahah, ça va être chaud ^^) Je fais une ptit prog en C, pour afficher les nombres premiers, et je cherche à les traduire dans des bases différentes que la 10.
Ce qui pour 43, je monte à plus 10 000 000 ( c'est pas le vraiment la le problème.)
Je voudrais savoir comment fonctionne les int, unsigned int, long int, long long int, float, double, long double, et en plus voir leur lien avec les printf tel que pour int ->%d.
Je voie dans le topic de weed ([c]Code format d'un double %f ou %lf ? Ou avoir + d'info sur long?) un début de ma réponse.
h => short int;I => long int;ii => long long int;L => long double  
Donc en gros
 
on peux rajouter des long comme je veux en théorie, mais d'après le compilateur GNU ( enfin le truc GNU) je peux pas avoir plus de 2 long,  
En gros en plus de ma question de départ, quel est le plus gros chiffres sans virgules, que je peux faire avec les int-long, etc, et c'est lequel?  
Et comment marche la composition de tous c'est long long int.
 
 
 

Reply

Marsh Posté le 03-05-2014 à 21:38:03   

Reply

Marsh Posté le 03-05-2014 à 21:57:26    

Bonjour !
 
La norme C n'impose pas tout concernant la taille et la représentation interne des valeurs entières et flottantes (cf . http://fr.wikipedia.org/wiki/C_%28langage%29#Types).
 
En pratique, sur les plates-formes "classiques", les entiers sont codés en complément à deux et limités à 64 bits, le modèle est ensuite dépendant de la plate-forme (cf. http://en.wikipedia.org/wiki/64-bi [...] ata_models).
 
Dans tous les cas, vous êtes limités à 2^64 -1 comme plus grande valeur possible.
 
Si vous avez besoin de calculer sur des très grands nombres, regardez la bibliothèque GNU MP (https://gmplib.org).
 
Bonne continuation !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed