Bonjour,
je souhaite simplement declarer des nombres positifs ou negatifs plus grand qu'avec int qui n'est que sur 4 octets!
merci pour votre reponse
Bonjour,
je souhaite simplement declarer des nombres positifs ou negatifs plus grand qu'avec int qui n'est que sur 4 octets!
merci pour votre reponse
Salut,
Il existe le type long
Code : Sélectionner tout - Visualiser dans une fenêtre à part long maVariable ;
je suis d'accord mais pourquoi lorsque l'on fait :Envoyé par Elijha
Code : Sélectionner tout - Visualiser dans une fenêtre à part sizeof(int)on obtient la meme chose : 4.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sizeof(long)
Autant pour moi,Envoyé par olivier1209
donne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 printf("sizeof(char) = %d\n", sizeof(char)) ; printf("sizeof(int) = %d\n", sizeof(int)) ; printf("sizeof(long) = %d\n", sizeof(long)) ; printf("sizeof(long long) = %d\n", sizeof(long long)) ;Donc il existe le type long longsizeof(char) = 1
sizeof(int) = 4
sizeof(long) = 4
sizeof(long long) = 8
Code : Sélectionner tout - Visualiser dans une fenêtre à part long long maVariable ;
Parce que, selon la norme du langage C, on doit avoir la relation suivante:
Un entier de type short doit au minimum être codé sur 16 bits et un entier de type long doit au minimum être codé sur 32 bits.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sizeof short <= sizeof int <= sizeof long
C'est tout ce que dit la norme. Rien n'empêche, et c'est ce qui se passe avec ma machine, d'avoir les types int et long int codés sur 32 bits. Depuis C99, il existe le type long long int.
Thierry
donc si je comprends bien pour declarer des nombres de plus de 32 bits c "long long int" c sa? (ce type passe sur tt les compilateurs?)
Sur certaines implantations, long est codé sur 64 bits, mais la norme assure qu'il l'est au moins sur 32 bits. Tous les compilateurs qui implantent la norme C99 supporte le type long long. La plupart des compilateurs C modernes le supporte même si le support complet de C99 est encore très loin d'être universellement répendu (je ne crois pas qu'on trouve aujourd'hui un compilateur qui implante cette norme à 100 %).Envoyé par menzeli
Thierry
Le plus grand type signé en C90 est int avec le modificateur long :Envoyé par menzeli
il peut aussi s'écrire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part long int x;
Si c'est insuffisant, il faut passer en C99 qui offre le modificateur long long :
Code : Sélectionner tout - Visualiser dans une fenêtre à part long x;
il peut aussi s'écrire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part long long int x;
La plage de valeur est LLONG_MIN à LLONG_MAX inclus.(<limits.h>)
Code : Sélectionner tout - Visualiser dans une fenêtre à part long long x;
ok merci pour les indications.Y a t'il une fourchette dans laquel on peut utiliser ce type?
Bref pour faire simple j'ai:
int k= 34;
int(?) j;
j=expo(2,k);
je veux afficher j et le declarer si c'est pas ce type
Envoyé par menzeliEnvoyé par Emmanuel Delahaye
Ok merci autant pour moi j'avais pas compris!
Donc si je me trompe pas, je peux faire la chose suivante:
J'ai un nombre qui vaut j=2^34,je fais:
long long int j=2^34;
C'est bien sa?
Il n'existe pas de symbole "puissance" en C ni en C++.
Par contre, pour "2 puissance X", on utilise souvent 1<<X (1 décalé à gauche de X bits).
Bonjour,
Ça pourrait, mais il faudra trouver un compilateur qui comprenne 2^34Envoyé par menzeli
En C ou C++, on fera
Dautre part, rien ne garantit que ton compilateur traitera le type long long sur 64 bits, il faudra prendre la peine de vérifier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part long long int j=(1 << 34) ;
C'est le minimum garanti en unsigned. Ca peut être plus, mais c'est pas grave.Envoyé par thewho
Pour être portable :
Code : Sélectionner tout - Visualiser dans une fenêtre à part unsigned long long int j = (1ull << 34) ;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager