» Beispiel für die Erzeugung von Zufallszahlen, mit Quellcode für die Funktionen!

qt-Programmierung in Linux: QLineEdit auslesen, in Zahl umformen und in andere QLineedit schreibenNeuen Thread eröffnenNeue Antwort erstellenSelbsgeschriebene Funktion getint() und getuchar() liest Bytes aus Datei als int und unsigned char
AutorNachricht
Junior 
Name: Voller Name als Anagramm: Fitje Weshoms
Geschlecht:
Fahrzeug: Yamaha YZF R6 Thundercat
Anmeldedatum: 15.07.2012
Beiträge: 92
Wohnort: Amberg, Oberpfalz
12.01.2016, 09:40
zitieren

Hallo Leute!

Hoffentlich habt Ihr den Rutsch ins neue Jahr gut überstanden.
Da ich mich momentan mit meinen alten Programmen beschäftige, wie ich diese nach
C++ und ins Linux Leap 42,1-Zeitalter portieren kann, habe ich tief in meiner CD-Sammlung
gegraben und einen sehr interessanten Code gefunden. Die Autoren und die Quell-Angaben
sind als Kommentare in englischer Sprache dabei. Aber keine Angst! Ich habe diesen alten
Source-Code in ein C++ Beispiel portiert und dabei vereinfacht.

Das interessante dabei ist, das der Source-Code für die Initialisierungsfunktionen und für
Funktionen, welche srand() und rand() ersetzen können.

Hier ein Ausschnitt aus den Kommentaren:
/*********************************************************************
This random number generator originally appeared in "Toward a Universal
Random Number Generator" by George Marsaglia and Arif Zaman.
Florida State University Report: FSU-SCRI-87-50 (1987)

It was later modified by F. James and published in "A Review of Pseudo-
random Number Generators"

Converted from FORTRAN to C by Phil Linttell, James F. Hickling
Management Consultants Ltd, Aug. 14, 1989.

THIS IS THE BEST KNOWN RANDOM NUMBER GENERATOR AVAILABLE.
(However, a newly discovered technique can yield
a period of 10^600. But that is still in the development stage.)

It passes ALL of the tests for random number generators and has a period
of 2^144, is completely portable (gives bit identical results on all
machines with at least 24-bit mantissas in the floating point
representation).

The algorithm is a combination of a Fibonacci sequence (with lags of 97
and 33, and operation "subtraction plus one, modulo one") and an
"arithmetic sequence" (using subtraction).

On a Vax 11/780, this random number generator can produce a number in
13 microseconds.
***************************************************************/
/
*****************************************************************
This is the initialization routine for the random number generator RANMAR()
NOTE: The seed variables can have values between: 0 <= IJ <= 31328
0 <= KL <= 30081
The random number sequences created by these two seeds are of sufficient
length to complete an entire calculation with. For example, if several
different groups are working on different parts of the same calculation,
each group could be assigned its own IJ seed. This would leave each group
with 30000 choices for the second seed. That is to say, this random
number generator can create 900 million different subsequences -- with
each subsequence having a length of approximately 10^30.

Use IJ = 1802 & KL = 9373 to test the random number generator. The
subroutine RANMAR should be used to generate 20000 random numbers.
Then display the next six random numbers generated multiplied by 4096
4096
If the random number generator is working properly, the random numbers
should be:
6533892.0 14220222.0 7275067.0
6172232.0 8354498.0 10633180.0
***********************************************************************/
/
I use the following procedure in TC to generate seeds:

The sow() procedure calculates two seeds for use with the random number
generator from the system clock. I decided how to do this myself, and
I am sure that there must be better ways to select seeds; hopefully,
however, this is good enough. The first seed is calculated from the values
for second, minute, hour, and year-day; weighted with the second most
significant and year-day least significant. The second seed weights the
values in reverse.
*/

Sehr seltsam dabei ist, das verschiedene Seiten im Internet die maximale
Sicherheit von Zufallszahlengeneratoren die mit Programmen arbeiten bei
2 hoch 32 angegeben ist.

Wahr ist anscheinend aber, das durch verschiedene Schlapphut-Organisationen
wie der NSA Bestrebungen im Gange sind, diese Zahl zu begrenzen. Danach
sollen sich diese Zahlen wiederholen, um die Entschlüsselung leichter zu machen.

Anmerkung des Verfassers dieses Themas:

Es handelt sich hier um eine reine Software zu Zwecken der Belehrung und der
Fortbildung. Das die Sicherheit, bis es zur ersten Wiederholung kommt bei
10 hoch 600 angegeben ist, halte ich für sehr stark übertrieben.
Aufgefallen ist mir aber denoch, das dieser Code schneller ist als der von anderen
Compilern. Damit keiner graue Haare bekommt oder sich diese ständig raufen muss:
Gearbeitet wurde auf Linux Leap 42.1 mit codeblocks 13.12 version und gcc Compiler!

Hier die Zip-Datei, damit Ihr alle einmal eureren Lottozahlengenerator schreiben könnt.
Falls dann einer dann Millionär wird, habe ich gegen Spenden nix dagegen (hi hi) !







hasard.zip


zip

 Download

Dateigröße: 41,05KB
Heruntergeladen: 102 mal


pn
Gast 
12.01.2016, 09:40
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "Beispiel für die Erzeugung von Zufallszahlen, mit Quellcode für die Funktionen!" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
Beispiel für Zeiger auf Funktionen: Ermittlung des Biegewiderstandes per sukzessiver Progression
Hallo Leute! Vor einiger Zeit hatte ich das Problem bei der Errechnung von Variablen zur Festigkeitsberechnung von Rohren. Genauer gesagt den Biegewiderstandmoment. Das ist der alte Name. Der neue ist axialer Widerstandsmoment. Dabei musste ich folgende...
[C++]von Guiseppe
0
489
13.02.2016, 16:12
Guiseppe
fehlerhaften Quellcode auf Github stellen?
Ich hätte mal bitte eine ernstgemeinte Frage zu Github: Wenn man einen Quelltext erstellt, dann gibt es ja bei sagen wir 30 lines of Code, ca. 10-15 Bugs, so dass der Quellcode nicht ausführbar ist. Im Rahmen der Debuggingphase werden diese Bugs...
[Allgemein]von mister_xyz
0
20
01.11.2024, 19:01
mister_xyz
Hash Funktionen C
Weiß jemand wie man das lösen könnte? Aufgabe: Liefert Zeiger auf den Wert (station_name aus der Struktur element der Listenimplementierung) zum übergebenen Schlüssel zurück. char &#x2A; ht_get&#40;hashtable &#x2A; ht, char &#x2A;...
[Allgemein]von cprogrammierung2022
0
162
16.06.2022, 07:29
cprogrammierung2022
Scheinwerfer-Funktionen!?
Hallo Leute, erstmal Hi an Alle. Bin neu hier und seit kurzem Besitzer eines Civic´s `07. Ich wollte wissen ob der Civic die Funktion hat wenn man per Fernbedienung das Auto öffnet sich auch die Lichter einschalten bzw. wenn man ihn abschliesst sich...
von XBladerX
1
645
04.03.2008, 22:01
s-lab
anzeige der Funktionen unterdrücken
Hallo, ich verwende die parserextensions und mache für die Benutzer eine Vorlage. Dabei kann ein Benutzerbild angegeben werden. Ist keines Vorhanden, dann soll ein Standardbild verwendet werden. Mein Problem ist nun, dass der Code mit angezeigt...
von Enigmus
2
222
13.05.2009, 18:29
Enigmus
S2000 Tacho Funktionen
Hi S2000 Fahrer, ich habe den S2000 Tacho bei mir im Civic verbaut, alles funktioniert soweit. Könnt ihr mich mal über die Funktionen aufklären oder gibt es da ne Anleitung oder ne Quelle wo man sich einlesen kann? Was ist zB. Trip A, Trip B? Hab schon...
von fago88
16
1.972
03.02.2013, 14:49
speedeg
Del sol ausfall einzelner elektrischer funktionen
Hay Leute. Nach längerer standzeit wollte ich den del sol starten. Batterie ist aber schon alt und etwas schwach.. Normalerweise überbrücke ich dann. Diesmal hab ich sie ausgebaut und Zuhause vollgeladen. Eingebaut,angschlossen, gestartet... Gut...
von ichbinmike92
1
169
28.01.2016, 12:33
Ninja II
Komfort Funktionen wie aktivieren / deaktivieren ?!
Hallo, Wie aktiviere ich die Komfort funktion? Manchmal klappt es und manchmal nicht... Im Handbuch steht auf der Fernbedienung 1x kurz und dann gedrückt halten... Die andere frage ist, Kann ich damit immer nur beides zusammen aktivieren (Spiegel +...
von EJ9 Power
2
547
08.12.2018, 09:39
Lori-DC2
Funktionen NORMVERT und NORMINV in c++ sourcecode!
Hallo Leute! Für alle, welche sich mal den Sourcecode für die Funktionen NORMVERT undNORMINV wünschen. Allerdings hat hier die Funktion NORMVERT den Namen NormalDistribution. Hab ich irgendwo im Netz gefunden und Umgeschrieben für codeblocks und...
[C++]von Guiseppe
0
427
01.05.2017, 14:02
Guiseppe
Tacho justieren und Funktionen nachrüsten
Moin Moin also ich hab da nen kleines Problem . Hab jetzt nen Facelift Tacho in mein Preface model eingebaut und wollte mal fragen ob man 1 den Tachostand justieren kann(will die orginalen KM wieder haben und wenn ja wie? 2 Kann mann den...
von R.O.N.I.N
0
398
09.02.2011, 20:43
R.O.N.I.N
© 2004 - 2025 www.programmierer-forum.de | Communities | Impressum |