AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 11 kein RandomRange für 64-bits?

Ein Thema von softtouch · begonnen am 23. Apr 2022 · letzter Beitrag vom 11. Aug 2022
 
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
772 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Delphi 11 kein RandomRange für 64-bits?

  Alt 2. Mai 2022, 13:10
Ja genau. Und deshalb kann man bei den "krypto-sicheren" auch beliebig generierte 1/8/16/32 Bit Werte aneinanderhängen bis genug. Man ist nicht auf einen 64Bitter angewiesen.

Ein 64Bit Generator kann aber natürlich trotzdem sinnvoll sein, wenn dieser für die jeweilige Verwendung mehr Speed bringt.

Nebenbei: Eine Zusammenfassung von Methoden wie man von einem durch den Generator erzeugten n-Bit Wert in einen gewünschten Bereich [0,ARange[ abbildet gibt es zum Beispiel hier.

(U.a. wird im Paper auch die von Delphi verwendete Methode beschrieben. - Beim Pseudozufallsgenerator von Delphi wird der erzeugte 32 Bit Wert als Bruch in [0..1[ interpretiert und mit ARange multipliziert. Der ganzzahlige Wert des Resultats wird ausgegeben. Dadurch werden einige Zahlen m Mal erzeugt, andere (ausser wenn ARange¦2'32) m+1 Mal. Bei sehr grossem ARange wird m=1 => random(ARange) gibt dann gewisse Zahlen (m=1+1 Mal) doppelt so häufig aus wie andere. => Bereits für Werte von ARange viel kleiner als 2^32 macht - wenn man die Zahlen wirklich pseudozufällig im "Delphi Style" erzeugt haben will - die Verwendung von random64(ARange) [siehe oben] Sinn.)
Michael Gasser
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz