Random 16 Stellige Hexadezimalzahlen Generieren
-
Hi,
Ich möchte Random 16 Stellige Hexadezimalwerte generieren und in einer Listbox auszugeben.
Ich habe bereits mehrere möglichkeiten wie z.B.://--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <limits.h> #include "Unit4.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm4 *Form4; //--------------------------------------------------------------------------- __fastcall TForm4::TForm4(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- AnsiString string1, string2; int t1, t2; void __fastcall TForm4::B_GenerierenClick(TObject *Sender) { t1 = Random(INT_MAX); t2 = Random(INT_MAX); string1.printf("%x", t1); string2.printf("%x", t2); LB_Generiert->Items->Add(string1 + string2); } //--------------------------------------------------------------------------- void __fastcall TForm4::FormCreate(TObject *Sender) { Randomize(); } //---------------------------------------------------------------------------
ausprobiert.
Aber diese Methode gibt nicht nur 16 stellige Hexadezimalzahlen aus
Vielleicht könnte mir jemand eine andere Methode erklären oder mir helfen diesen Code zu verbessenIch hoffe ich habe mich klar genug ausgedrück und mir kann schnell geholfen werden^^
mfg Zuluhutu
-
string1 = "0x" + IntToHex( t1, 16 );
oder
string1 = IntToHex( t1, 16 );
grüssle
-
[gelöscht]
-
Hallo Smity,
Ich habe den Code jetzt so abgeändert:AnsiString string1, string2, t3; int t1; void __fastcall TForm4::B_GenerierenClick(TObject *Sender) { t1 = Random(INT_MAX); string1 = IntToHex( t1, 16 ); LB_Generiert->Items->Add(string1); }
Aber das Problem ist es wird so ja nur die erste Hälfte an Bytes gefüllt und er gibt Zahlen aus wie z.B.: 00000000786C9072
Doch er soll ja von Min 0000000000000001 bis zu Max wert FFFFFFFFFFFFFFFF ausgeben^^mfg Zuluhutu
-
16 Stellig Hex und int ???
-
Ja in Int geht das nicht, aber wenn ich einen Variablen Typen wie
unsigned long long nehme, funktioniert es nicht wenn hier:t1 = Random(INT_MAX);
statt INT_MAX --> ULONG_LONG_MAX eingebe, trotz "include limits.h"
mfg Zuluhutu
-
LB_Generiert->Items->Add(IntToHex(RandomRange(0,INT_MAX),8)+IntToHex(RandomRange(0,INT_MAX),8));
-
Ich habe mir aus Smitty's und confuzius lösungen was zusammengebastelt und nun klappt es
danke danke dankemfg Zuluhutu