Zufallsbit erzeugen

OP #2353219
Lesenswert?

Hi,
ich hab derzeitig folgendes Problem: Ich möchte ein Zufälliges Bit 
erzeugen.

Eine Zufallszahl kann ich ohne Probleme erzeugen, aber wie soll ich 
daraus ein zufälliges Bit erzeugen? Meine Ansätze arten immer in solche 
Folgen aus 
0000000000000111111111111111111111000000000000001111110000011111111

etc.
Ich würde aber eher sowas hier haben 
wollen:01001000100010101011011011010


Danke
Moderator (Firma: Titel) Persönliche Seite #2353245
Lesenswert?

Stefan B. schrieb:
> Guck dir mal http://en.wikipedia.org/wiki/Linear_feedback_shift_register
Das Blöde ist, dass ein langes LFSR natürlich auch lange gleiche 
Bitfolgen erzeugen wird (z.B. bei 32 bit Länge bis zu 32 x eine 1 
hintereinander). Und ein kürzeres LFSR wiederholt sich laufend, von 
Zufall keine Spur...

Mike Mike schrieb:
> Ich würde aber eher sowas hier haben wollen:010010001000101010110110
Du könntest ein "kurzes" und ein "langes" LFSR miteinander verknüpfen...

Hans schrieb:
> Hier noch einmal die Frage:
Sieh dir nur das unterste Bit deiner Zufallszahl an...
OP #2353267
Lesenswert?

Hi,

bin grade auf eine Idee gekommen:

Ich habe eine Zufallszahl gewonnen, Packe diese binär in ein Array. Und 
dann gewinne ich eine Zweite Zufallszahl, "verkleinere" sie auf unter 
die Größe des Arrays, und picke mir das Bit raus, auf welches die Zahl 
im Array zeigt.

Gruß Mike
Gast #2353274
Lesenswert?

Hallo,

soviel Aufwand ist völlig unnötig. Aus einer korrekt zufälligen Zahl 
kannst du jedes Bit verwenden, das muss so zufällig sein wie die Zahl 
selbst. Entweder nimmst du immer das gleiche, z.B. das LSB, oder die 
Bits nacheinander und wenn du durch bist erzeugst du eine neue 
Zufallszahl.

Ich nehme an, dass die von dir erzeugte Folge auf einem Fehler beruht. 
Lange Folgen konstanter 1en oder 0en kommen natürlich vor (sonst wäre 
die Zahl nicht zufällig), aber selten. In einer 16Bit-Folge muss 0FFFFH 
vorkommen, aber eben nur einmal unter 2^16 anderen Folgen.

Gruss Reinhard

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren