2D-BoolMatrix mit 2 Variablen beschreiben

Gast #6051917
Lesenswert?

Hallo zusammen,

wie es der Betreff schon verrät, habe ich mehrere 16x16 Bool-Matrizen 
oder besser 3D-Arrays, die sich ändern können und wo ich mir jedes Mal 
den Inhalt merken muss. Es handelt sich um Crosspoint-Matrizen...

Nun möchte ich mir aus Speichergründen diese Matrizen mit weniger 
Variablen bzw. Speicherplatz auf Kosten von Rechenpower "merken" können.

Ich stelle mit vor, dass ein 16x16 bool-Array auch irgendwie mit zb 
2x16bit uint Variablen voll darstellbar sind? Liege ich da richtig, oder 
ist das nicht möglich und ich müsste mir jede 16x16 Matrix als 2D-Array 
ablegen, um den Inhalt der Matrizen wieder voll rekonstruieren zu 
können?

Ich glaube mein Problem ist eher ein "mathematisches" :-)

Besten Dank im Voraus
Karl
Gast #6051933
Lesenswert?

Karl schrieb:
> Ich stelle mit vor, dass ein 16x16 bool-Array auch irgendwie mit zb
> 2x16bit uint Variablen voll darstellbar sind?

wie soll das denn gehen?
16x16 sind 256 bit an boolean information
wie willst Du die in 32bit (2x16bit uint) packen ohne infos zu 
verlieren?

Karl schrieb:
> Betreff: 2D-BoolMatrix mit 2 Variablen beschreiben
>
> wie es der Betreff schon verrät, habe ich mehrere 16x16 Bool-Matrizen
> oder besser 3D-Arrays,

Was denn nu? 16x16 oder 16x16x16?
letzteres sind immerhin 4096 bit nicht nur 256.

Sei mir nicht böse, aber irgendwie hast Du Dich entweder
schlecht ausgedrückt oder stehst was die Anzahl der bits angeht grad auf 
dem Schlauch ;)
Gast #6051946
Lesenswert?

Karl schrieb:
> kurz nochmal um zu verdeutlichen, was ich genau meine...

naja verdeutlichen tut das NIX...
aber okay

Spalte A 100
Spalte B 111
Spalte C 010

neun bit ... keine chance das mit weniger als 9bit
zweifelsfrei darzustellen

und bei 16x16 ist es dasselbe 16x16 bleiben 256 bit
mit 32bit hast Du nur ein achtel der Informationen
Gast #6051955
Lesenswert?

Hi,

besten Dank für die Anregungen und Gedankenstöße.

@Sid: Beides, ich stand auf dem Schlauch und habe mich zudem nicht ganz 
glücklich ausgedrückt. Aber nun wird alles klarer...

32Byte ist korrekt und verstanden, danke :-)

Wie würde eine Rechen/Logikoperation aussehen, um eine bestehende Matrix 
Mathematisch auszudrücken, bzw. um die Matrix aus den 32bytes zu 
rekonstruieren?

Danke und VG
Gast #6051979
Lesenswert?

Karl schrieb:

> Wie würde eine Rechen/Logikoperation aussehen, um eine bestehende Matrix
> Mathematisch auszudrücken, bzw. um die Matrix aus den 32bytes zu
> rekonstruieren?

Geht es ein klein wenig konkreter? Die 32 Bytes repräsentieren bereits 
die Matrix. Welche Operationen möchtest du ausführen? Was verstehst du 
unter rekonstruieren?
#6052135
Lesenswert?

Ich vermute, er will wissen, wie er mit einem Zeilen- und einem 
Spaltenindex jetzt an das entsprechende Matrix-Element kommt.
Das hängt letztendlich von der Sprache ab. Man könnte aber z.B. als 
Array aus 16 Integer mit jeweils 16 Bit abspeichern. Dann kannst du den 
Zeilenindex direkt als Index für das Array nutzen und den Spaltenindex 
verwenden, um das passende Bit zu maskieren.

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