Tutorials  /  Linux Basics

Zufallszahlengenerator erstellen in C++: So geht's Schritt für Schritt

Ccentron Redaktion · Januar 2025 ·3 Min. Lesezeit ·Linux Basics, Tutorial

Einleitung

In diesem Artikel besprechen wir die Funktionen, die benötigt werden, um einen Zufallszahlengenerator in C++ zu erstellen. Zufallszahlen sind in der Informatik essenziell, um Anonymität und Sicherheit zu gewährleisten. Ein Zufallszahlengenerator bildet die Grundlage zur Erzeugung von Pseudozufallszahlen.

Die Idee hinter Pseudozufallszahlen ist, dass ein Computer keinen Denkprozess hat, um eine zufällige Zahl auszuwählen. Auch wenn die Ausgabe zufällig erscheint, werden die Werte mathematisch berechnet.

VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Funktionen srand() und rand()

Die Funktion srand() in C++ kann Pseudozufallszahlen berechnen. Diese Funktion benötigt einen Seed-Wert, der die Grundlage für die Berechnung von Zufallszahlen bildet.

Code
srand(unsigned int seed_value)

Mit Hilfe des Seed-Werts bereitet srand() die Erzeugung von Pseudozufallszahlen durch die Funktion rand() vor:

Code
int random = rand();

Und voilà! Sie haben eine Zufallszahl generiert. Das Verständnis des Konzepts hinter Zufallszahlengeneratoren ist jedoch entscheidend.

Bedeutung eines Seed-Werts

Der Seed-Wert bestimmt die Sequenz der Zufallszahlen. Wenn derselbe Seed-Wert verwendet wird, ist die erzeugte Zahlenfolge identisch. Ohne einen neuen Seed bleibt die Ausgabe bei jedem Programmlauf gleich.

Um dies zu beheben, verwenden Sie den aktuellen Zeitstempel als neuen Seed-Wert:

Code
time_t current_time = time(NULL);
srand((unsigned) time(NULL));

Der perfekte Zufallszahlengenerator in C++

Hier ist ein Beispiel für einen Zufallszahlengenerator erstellen in C++

Code
#include<iostream>
#include<cstdlib>
using namespace std;

int main(){
    srand((unsigned) time(NULL));
    int random = rand();
    cout<<random<<endl;
    return 1;
}

Ausgabe:

Code
1897776064

Zufallszahlengenerator erstellen in C++ in einem Bereich

Um Zufallszahlen auf einen bestimmten Bereich zu beschränken, verwenden Sie den Modulus-Operator %:

Code
int random = rand() % 10;

Um Zufallszahlen zwischen 1 und 9 zu generieren:

Code
int random = 1 + (rand() % 9);

Allgemeine Formel:

Code
int random = offset + (rand() % range);

Beispielprogramm zur Erzeugung von 5 Zufallszahlen zwischen 100 und 200:

Code
#include<iostream>
#include<cstdlib>
using namespace std;

int main(){
    srand((unsigned) time(NULL));
    for(int i=1; i<=5; i++){
        int random = 100 + (rand() % 101);
        cout<<random<<endl;
    }
    return 1;
}

Ausgabe:

Code
144
175
162
137
200

Anwendungen von Zufallszahlengeneratoren (RNGs)

  • Kryptographie: Unvorhersehbarkeit ist der Schlüssel zur Sicherheit, was RNGs für Schlüssel und Nonces unverzichtbar macht.
  • Spiele: Zufälligkeit, wie bei Würfeln oder Kartenschuffling, sorgt für Spaß und Unsicherheit.
  • Randomisierte Algorithmen: Zufälligkeit kann die Leistung und Ergebnisse von Algorithmen verbessern.

Fazit zu Zufallszahlengenerator erstellen in C++

Die RNGs oder PRNGs (Pseudozufallszahlengeneratoren) sind die Grundlage für moderne Cybersicherheit und Kryptographie. Sie generieren scheinbar zufällige Zahlen durch mathematische Berechnungen. Wir hoffen, dass dieser Artikel hilfreich war. Hinterlassen Sie unten gerne Fragen oder Vorschläge.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren