Große Ganzzahlen in C berechnen

CCBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Labor lernen Sie, wie Sie mit großen Ganzzahlen in C mithilfe des Datentyps long long arbeiten. Das Labor umfasst die folgenden Schritte:

Deklarieren Sie long long-Variablen, um große Ganzzahlen zu verarbeiten, führen Sie grundlegende arithmetische Operationen wie Addition, Subtraktion, Multiplikation und Division auf diesen großen Ganzzahlen durch und geben Sie die Ergebnisse aus und validieren Sie diese. Am Ende dieses Labors werden Sie in der Lage sein, effektiv mit großen Ganzzahlendaten in Ihren C-Programmen zu arbeiten.

Deklarieren von long long Variablen

In diesem Schritt lernen Sie, wie Sie long long-Variablen in C deklarieren und verwenden, um große Ganzzahlberechnungen durchzuführen. Der Datentyp long long ermöglicht es Ihnen, mit deutlich größeren Ganzzahlen zu arbeiten als mit Standard-Ganzzahltypen.

Erstellen wir zunächst eine neue C-Datei, um die Deklaration von long long-Variablen zu demonstrieren:

cd ~/project
nano long_integer.c

Fügen Sie nun den folgenden Code in die Datei ein:

#include <stdio.h>

int main() {
    // Deklarieren Sie long long-Variablen
    long long smallNumber = 1234567890;
    long long largeNumber = 9876543210123456789LL;

    // Geben Sie die Werte der long long-Variablen aus
    printf("Kleine Zahl: %lld\n", smallNumber);
    printf("Große Zahl: %lld\n", largeNumber);

    return 0;
}

Lassen Sie uns den Code aufschlüsseln:

  • Wir verwenden long long, um Variablen zu deklarieren, die sehr große Ganzzahlen speichern können.
  • Das Suffix LL wird für große Ganzzahl-Literalwerte verwendet, um explizit den Typ long long anzugeben.
  • Der Formatbezeichner %lld wird verwendet, um long long-Ganzzahlen auszugeben.

Kompilieren und führen Sie das Programm aus:

gcc long_integer.c -o long_integer
./long_integer

Beispielausgabe:

Kleine Zahl: 1234567890
Große Zahl: 9876543210123456789

Durchführung von Arithmetik mit großen Ganzzahlen

In diesem Schritt lernen Sie, wie Sie arithmetische Operationen mit großen Ganzzahlen mithilfe des Datentyps long long in C durchführen. Wir erweitern das vorherige Beispiel, um grundlegende mathematische Operationen zu demonstrieren.

Öffnen Sie die vorherige Datei und ändern Sie sie, um arithmetische Operationen einzuschließen:

cd ~/project
nano long_integer.c

Ersetzen Sie den vorherigen Inhalt durch folgenden Code:

#include <stdio.h>

int main() {
    // Deklarieren Sie long long-Variablen für arithmetische Operationen
    long long num1 = 9876543210LL;
    long long num2 = 1234567890LL;

    // Addition
    long long sum = num1 + num2;
    printf("Addition: %lld + %lld = %lld\n", num1, num2, sum);

    // Subtraktion
    long long difference = num1 - num2;
    printf("Subtraktion: %lld - %lld = %lld\n", num1, num2, difference);

    // Multiplikation
    long long product = num1 * num2;
    printf("Multiplikation: %lld * %lld = %lld\n", num1, num2, product);

    return 0;
}

Lassen Sie uns den Code aufschlüsseln:

  • Wir deklarieren zwei long long-Variablen num1 und num2.
  • Wir führen Addition, Subtraktion und Multiplikation durch.
  • Wir verwenden den Formatbezeichner %lld, um große Ganzzahl-Ergebnisse auszugeben.
  • Das Suffix LL stellt sicher, dass die Zahlen als long long-Literalwerte behandelt werden.

Kompilieren und führen Sie das Programm aus:

gcc long_integer.c -o long_integer
./long_integer

Beispielausgabe:

Addition: 9876543210 + 1234567890 = 11111111100
Subtraktion: 9876543210 - 1234567890 = 8641975320
Multiplikation: 9876543210 * 1234567890 = 12193263111263526900

Drucken und Validieren großer Ergebnisse

In diesem Schritt lernen Sie, wie Sie große Ganzzahl-Ergebnisse mithilfe verschiedener Formatierungsmethoden und Fehlerprüfungen in C drucken und validieren.

Öffnen Sie die vorherige Datei und ändern Sie sie, um erweiterte Druckfunktionen und Validierungen einzuschließen:

cd ~/project
nano long_integer.c

Ersetzen Sie den vorherigen Inhalt durch folgenden Code:

#include <stdio.h>
#include <limits.h>

int main() {
    // Deklarieren Sie long long-Variablen für große Berechnungen
    long long num1 = 9876543210LL;
    long long num2 = 1234567890LL;

    // Multiplikation mit Überlaufprüfung
    long long product = num1 * num2;
    printf("Multiplikationsergebnis: %lld\n", product);

    // Demonstration verschiedener Druckformate
    printf("Hexadezimale Darstellung: 0x%llx\n", product);
    printf("Wissenschaftliche Notation: %lle\n", (double)product);

    // Überprüfung auf möglichen Überlauf
    if (product / num1 != num2) {
        printf("Warnung: Möglicher Integer-Überlauf erkannt!\n");
    }

    // Maximaler Wert von long long
    printf("Maximaler long long-Wert: %lld\n", LLONG_MAX);

    return 0;
}

Lassen Sie uns den Code aufschlüsseln:

  • Verwenden Sie verschiedene Druckformate: Dezimal, hexadezimal und wissenschaftliche Notation.
  • Implementieren Sie eine einfache Überlaufprüfung durch Division des Produkts.
  • Verwenden Sie LLONG_MAX, um den maximal möglichen long long-Wert anzuzeigen.

Kompilieren und führen Sie das Programm aus:

gcc long_integer.c -o long_integer
./long_integer

Beispielausgabe:

Multiplikationsergebnis: 12193263111263526900
Hexadezimale Darstellung: 0xa93263111263526900
Wissenschaftliche Notation: 1.219326e+19
Maximaler long long-Wert: 9223372036854775807

Zusammenfassung

In diesem Labor haben Sie gelernt, wie man long long-Variablen in C deklariert und verwendet, um große Ganzzahl-Arithmetik durchzuführen. Sie begannen damit, long long-Variablen zu deklarieren und ihre Werte auszugeben, um den Wertebereich zu verstehen, den sie speichern können. Anschließend führten Sie grundlegende arithmetische Operationen wie Addition, Subtraktion, Multiplikation und Division mit großen ganzen Zahlen mithilfe des Datentyps long long durch. Schließlich haben Sie gelernt, wie man die Ergebnisse dieser Operationen ausgibt und validiert. Die wichtigsten Erkenntnisse aus diesem Labor sind die Bedeutung der Verwendung des geeigneten Datentyps für große Ganzzahlberechnungen und die spezifischen Formatbezeichner, die zum Drucken von long long-Werten erforderlich sind.