Definieren eines Bit[]-Arrays in C#C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Definieren eines Bit[]-Arrays in C#

Post by Anonymous »

Derzeit arbeite ich an einer Lösung für einen Primzahlrechner/-prüfer. Der Algorithmus funktioniert bereits und ist sehr effizient (0,359 Sekunden für die ersten 9012330 Primzahlen). Hier ist ein Teil der oberen Region, in dem alles deklariert ist:

Code: Select all

const uint anz = 50000000;

uint a = 3, b = 4, c = 3, d = 13, e = 12, f = 13, g = 28, h = 32;
bool[,] prim = new bool[8, anz / 10];
uint max = 3 * (uint)(anz / (Math.Log(anz) - 1.08366));
uint[] p = new uint[max];
Jetzt wollte ich zur nächsten Ebene gehen und ulongs anstelle von uints verwenden, um einen größeren Bereich abzudecken (das sieht man schon), wo ich auf mein Problem gestoßen bin: das Bool-Array.
Wie jeder wissen sollte, haben Bools die Länge eines Bytes, was beim Erstellen des Arrays viel Speicher beansprucht... Also suche ich nach einer ressourcenschonenderen Möglichkeit, das zu tun.
Meine erste Idee war ein Bit-Array -> kein Byte!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post