Einzelnen Beitrag anzeigen

Benutzerbild von Dano
Dano

Registriert seit: 12. Aug 2004
49 Beiträge
 
#65

Re: Unbegrenzt viele Nachkommastellen

  Alt 24. Sep 2004, 00:22
hi Hagen,

jup, mit ähnlich meinte ich das die zahlen immer zwischen einer 2er potenz sind
also bei NRnd(Zahl,16); sind sie immer zwischen 32 000 und 65 000....

die zufallszahlen haben nichts mit verschlüsselung zu tun, sind nur für mathematische versuche

habe aber einen weg gefunden
ich lösche einfach das erste bit in der IInteger mit NCut
dann kommen ganz gute ergebnisse^^

hier mal ein beispiel:
ein memo und ein button auf form1 und los gehts^^

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   Zahl,ZahlMin,ZahlMax: IInteger;
   Count,Bits: Integer;
begin
   Bits:=16;
   NSet(ZahlMax,NNull);
   NRnd(ZahlMin,Bits);

   for Count:=1 to 100 do begin
      NRnd(Zahl,Bits);
      NCut(Zahl,Bits-1);
      if NCmp(Zahl,ZahlMax)= 1 then NSet(ZahlMax,Zahl)
      else if NCmp(Zahl,ZahlMin)= -1 then NSet(ZahlMin,Zahl);
      Memo1.Lines.Add(NStr(Zahl,10));
   end;

   Memo1.Lines.Add('------------------------');
   Memo1.Lines.Add('Kleinste: '+NStr(ZahlMin,10));
   Memo1.Lines.Add('Größte: '+NStr(ZahlMax,10));
end;
und wenn ich das richtig verstanden habe brauche ich NRnd kein TRandom übergeben weil er dann automatisch das TRandom aus der RNG.Pas benutzt und das reicht für gute zufallszahlen?


mfg
Dano

PS: dein IInteger ist echt klasse
  Mit Zitat antworten Zitat