# Problem mit Bitfolgen



## Guest (29. Nov 2004)

Kann mir jemand Folgendes erklären:

"Ein Algorithmus zur Bestimmung von Primzahlen ist zu implementieren, wobei die Liste von Primzahlen durch eine Folge von Bits, die in einem Array von int-Zahlen stehen, zu realiseiren ist.
Jede int-Zahl besteht aus 32 Bit und kann dadurch 32 natürliche Zahln repräsentieren."

Kann mir jemand sagen, was der zweite Satz bedeutet?
Wenn ich die ersten 11 Primzahlen nehme, dann sieht die Bitfolge doch so aus: 01010000010001010001010001010110 (ist an der Stelle x eine 1, dann ist x eine Primzahl; so weit klar!)
Wie soll ich diese Folge nun abspeichern? Als dazugehörige Dezimalzahl? Und dann?

MfG

Gast


----------



## DTR (29. Nov 2004)

Hallo,

so wie ich das Verstanden habe bedeutet


00000000000000000000000000000001 = 1
00000000000000000000000000000010 = 2
00000000000000000000010000000000 = 11
Das würde  00000000000000000001000100010001 dann bedeuten 1, 5, 9, 13 sind Primzahlen. Da gibt es dann natürlich noch mehr, die dir der Algorithmus finden wird.


----------



## thE_29 (29. Nov 2004)

> 00000000000000000000010000000000 = 11


11 ist das aber net  sondern 1024

also so schwer sieht das net aus, eine Primzahl hat glaub ich immer n 1drinnen 

1,3,5,7,11,13,17,19,23,27,29 sind zum Bsp Primzahlen

binär sehen die so aus

1 = 1
11 = 3
101 = 5
111 = 7
1001 = 9
1011 = 11
1101 = 13
10001 = 17
10011 = 19
10111 = 23
11011 = 27
11101 = 29


Also ich würde sagen ne Primzahl hat immer an der 1ten Stelle ne 1  Aber das sind halt viele Zahlen, weiter logische Zusammenhänge musst selber suchen


----------



## Guest (29. Nov 2004)

Hallo!
So weit verstehe ich es auch schon. Doch die Frage ist: der Algorithmus liefert mir z.B. die 13. Wie soll ich diese 13 dann speichern?! Ich vermute, dass man in der int-Zahl (32Bit) an der Stelle 13 eine 1 machen soll, aber wie?
Wie ändere ich die Bits?

MfG

der diese Frage gestellt hat


----------



## thE_29 (29. Nov 2004)

Du hast die Bits in einem Array abgespeichert (oben Angabe) also einfach nur die Stelle ändern.


ansonsten mit logischen verknüpfungen oder verschieben (das hatte ich ein halbes jahr in c, weiß aber nima viel davon - war extremst blöd..)


----------

