Introduction
Dans ce laboratoire, vous apprendrez à travailler avec l'arithmétique des grands entiers en C en utilisant le type de données long long. Ce laboratoire couvre les étapes suivantes :
Déclarez des variables long long pour gérer les grandes valeurs entières, effectuez des opérations arithmétiques de base telles que l'addition, la soustraction, la multiplication et la division sur ces grands entiers, et affichez et validez les résultats. À la fin de ce laboratoire, vous serez capable de travailler efficacement avec les données entières de grande taille dans vos programmes C.
Déclaration de variables long long
Dans cette étape, vous apprendrez à déclarer et utiliser des variables long long en C pour gérer l'arithmétique des grands entiers. Le type de données long long vous permet de travailler avec des valeurs entières beaucoup plus grandes que les types entiers standard.
Tout d'abord, créons un nouveau fichier C pour démontrer la déclaration de variables long long :
cd ~/project
nano long_integer.c
Maintenant, ajoutez le code suivant au fichier :
#include <stdio.h>
int main() {
// Déclarez des variables long long
long long smallNumber = 1234567890;
long long largeNumber = 9876543210123456789LL;
// Affichez les valeurs des variables long long
printf("Petit nombre : %lld\n", smallNumber);
printf("Grand nombre : %lld\n", largeNumber);
return 0;
}
Décomposons le code :
- Nous utilisons
long longpour déclarer des variables capables de stocker de très grandes valeurs entières. - Le suffixe
LLest utilisé pour les littéraux d'entiers importants afin de spécifier explicitement le typelong long. - Le spécificateur de format
%lldest utilisé pour afficher les entierslong long.
Compilez et exécutez le programme :
gcc long_integer.c -o long_integer
./long_integer
Exemple de sortie :
Petit nombre : 1234567890
Grand nombre : 9876543210123456789
Effectuer des opérations arithmétiques sur de grands entiers
Dans cette étape, vous apprendrez à effectuer des opérations arithmétiques sur de grands entiers en utilisant le type de données long long en C. Nous allons étendre l'exemple précédent pour démontrer les opérations mathématiques de base.
Ouvrez le fichier précédent et modifiez-le pour inclure les opérations arithmétiques :
cd ~/project
nano long_integer.c
Remplacez le contenu précédent par le code suivant :
#include <stdio.h>
int main() {
// Déclarez des variables long long pour les opérations arithmétiques
long long num1 = 9876543210LL;
long long num2 = 1234567890LL;
// Addition
long long sum = num1 + num2;
printf("Addition : %lld + %lld = %lld\n", num1, num2, sum);
// Soustraction
long long difference = num1 - num2;
printf("Soustraction : %lld - %lld = %lld\n", num1, num2, difference);
// Multiplication
long long product = num1 * num2;
printf("Multiplication : %lld * %lld = %lld\n", num1, num2, product);
return 0;
}
Décomposons le code :
- Nous déclarons deux variables
long long,num1etnum2. - Nous effectuons l'addition, la soustraction et la multiplication.
- Nous utilisons le spécificateur de format
%lldpour afficher les résultats des grands entiers. - Le suffixe
LLgarantit que les nombres sont traités comme des littérauxlong long.
Compilez et exécutez le programme :
gcc long_integer.c -o long_integer
./long_integer
Exemple de sortie :
Addition : 9876543210 + 1234567890 = 11111111100
Soustraction : 9876543210 - 1234567890 = 8641975320
Multiplication : 9876543210 * 1234567890 = 12193263111263526900
Affichage et validation de grands résultats
Dans cette étape, vous apprendrez à afficher et à valider les grands résultats entiers en utilisant différentes techniques de formatage et des vérifications d'erreurs en C.
Ouvrez le fichier précédent et modifiez-le pour inclure l'affichage et la validation avancés :
cd ~/project
nano long_integer.c
Remplacez le contenu précédent par le code suivant :
#include <stdio.h>
#include <limits.h>
int main() {
// Déclarez des variables long long pour de grands calculs
long long num1 = 9876543210LL;
long long num2 = 1234567890LL;
// Multiplication avec vérification de dépassement
long long product = num1 * num2;
printf("Résultat de la multiplication : %lld\n", product);
// Démonstration de différents formats d'affichage
printf("Représentation hexadécimale : 0x%llx\n", product);
printf("Notation scientifique : %lle\n", (double)product);
// Vérification du dépassement potentiel
if (product / num1 != num2) {
printf("Avertissement : Dépassement d'entier potentiel détecté !\n");
}
// Valeur maximale de long long
printf("Valeur maximale de long long : %lld\n", LLONG_MAX);
return 0;
}
Décomposons le code :
- Utilisez différents formats d'affichage : décimal, hexadécimal et notation scientifique.
- Implémentez une vérification simple de dépassement en divisant le produit.
- Utilisez
LLONG_MAXpour afficher la valeur maximale possible delong long.
Compilez et exécutez le programme :
gcc long_integer.c -o long_integer
./long_integer
Exemple de sortie :
Résultat de la multiplication : 12193263111263526900
Représentation hexadécimale : 0xa93263111263526900
Notation scientifique : 1.219326e+19
Valeur maximale de long long : 9223372036854775807
Résumé
Dans ce laboratoire, vous avez appris à déclarer et utiliser des variables long long en C pour gérer les opérations arithmétiques sur de grands entiers. Vous avez commencé par déclarer des variables long long et afficher leurs valeurs pour comprendre la plage de valeurs qu'elles peuvent stocker. Ensuite, vous avez effectué des opérations arithmétiques de base comme l'addition, la soustraction, la multiplication et la division sur de grands entiers en utilisant le type de données long long. Enfin, vous avez appris à afficher et valider les résultats de ces opérations. Les points clés de ce laboratoire sont l'importance d'utiliser le type de données approprié pour les calculs sur de grands entiers et les spécificateurs de format spécifiques nécessaires pour afficher les valeurs long long.



