2D-BoolMatrix mit 2 Variablen beschreiben

Gast #6051917
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
Hallo,

kurz nochmal um zu verdeutlichen, was ich genau meine...

Die roten "dots" sind Verbindungen. Ax Bx Cx A B C sind Signale bzw. 
Empfänger.

Danke und viele Grüße
Karl
Angehängte Dateien:
Gast
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
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
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
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?
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

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.