Comprendre « long long » en C/C
En C/C, la gamme de types de données est cruciale pour gérer les valeurs numériques. Le type de données « long long » est introduit pour prendre en charge des valeurs entières plus grandes que le type « long » standard, ce qui permet des opérations encore plus précises.
Considérez l'extrait de code C/C suivant :
#include <stdio.h> int main() { int num1 = 1000000000; long num2 = 1000000000; long long num3; long long num4 = ~0; printf("%u %u %u", sizeof(num1), sizeof(num2), sizeof(num3)); printf("%d %ld %lld %llu", num1, num2, num3, num4); return 0; }
Une fois exécuté, ce code affiche le résultat suivant :
4 4 8 1000000000 1000000000 0 18446744073709551615
Le résultat démontre des résultats intéressants. comportements :
Maintenant, décommentons le commentaire line:
num3 = 100000000000;
La compilation échoue avec l'erreur : "erreur : la constante entière est trop grande pour le type long." En effet, la valeur littérale « 100000000000 » dépasse la valeur maximale pouvant être représentée par un type « long ». Pour résoudre ce problème, nous devons préciser que ce littéral est un 'long long' en utilisant le suffixe LL :
num3 = 100000000000LL;
Avec cette modification, le code se compile et s'exécute avec succès. La sortie inclut désormais la valeur correcte pour 'num3' :
4 4 8 1000000000 1000000000 100000000000 18446744073709551615
Ce code illustre l'importance des types de données et l'utilisation du type 'long long' pour gérer de grandes valeurs entières dans la programmation C/C.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!