Schmidt: C - wie Speicher nicht verschwenden? 9-Bit Variable?

Beitrag lesen

  1. Ich Speicher die Zustände in Bitfeldern die jeweils 9Bit breit sind. Hat das Speicher gespart?
    Nur wenn du die restlichen 7 Bit auch verwendest.

Ich dachte an soetwas:

struct s_matrix {  
				unsigned z1:9;  
				unsigned z2:9;  
				unsigned z3:9;  
				unsigned z4:9;  
				unsigned z5:9;  
				unsigned z6:9;  
				unsigned z7:9;  
				unsigned z8:9;  
				[...]  
			} invMatrix;  
			  
			invMatrix.z1 = 0b101001110;  
			invMatrix.z2 = 0b111111000;  
			invMatrix.z3 = 0b101100011;  
			invMatrix.z4 = 0b110110110;  
			invMatrix.z5 = 0b101010101;  
			invMatrix.z6 = 0b011011011;  
			invMatrix.z7 = 0b110001101;  
			invMatrix.z8 = 0b011100101;  
			[...]

Das Problem ist jedoch, dass ich dann meines Wissens nach nicht in einer Schleife nacheinander auf die Zustände zugreifen kann.
Wenn ich dich richtig verstehe nicht.

Behelfen könnte ich mir mit einem Aray aus Zeigern auf die einzelnen Bitfelder.
Nein, die Elemente sind nicht adressierbar (&-Operator verboten)

Wie funktioniert denn der Zugriff mittels invMatrix.z7 = ...;? Ist das nicht eine Art Zeiger?

Aber wenn ein Zeiger selbst mehr als 6Bit Speicherplatz einnimmt, dann komme ich am Ende in der Summe nicht auf weniger Speicherverbrauch.
Was sonst.
Desweiteren weiß ich nicht ob bei einer der Methoden nicht ohnehin automatisch noch diverse Zeiger angelegt werden, welche den Speicherbedarf erhöhen.
Nein

Belegt die Möglichkeit über invMatrix.z7 = ...; auf das 9Bit Feld zuzugreifen also nicht extra Speicher? Beispielsweise den Speicherplatz eines Zeigers.

Könnt ihr meine Ideen beurteilen, verbessern, oder habt ihr eine komplett andere Idee?
Macht es Sinn für 64-Byte Daten einen Algorithmus zu entwickeln der sicher viel mehr Code-Speicher kostet?

STOP MISSVERSTÄNDNIS. Nicht 64Byte Daten sondern 64*9Byte Daten.

Vielleicht war ich zu allgemein.
Ich habe eine 3x3Felder (oder nenn es Pixel) große Anzeige mit den Zuständen AN und AUS. Wenn ich nun ein Bild anzeigen möchte, beinhaltet dieses Bild 9Bit Information. 1Bit für jedes Feld.
Nun möchte ich einen "Film" Speichern und anzeigen. Dieser Film hat 64Bilder (später wohl noch mehr). Ich muss jedes Bild speichern und es dann mittels einer Schleife nacheinander anzeigen.
Ich habe auf dem Mikroprozessor nur wenig Speicher. Deswegen suche ich nach einer Methode möglichst wenig Speicherplatz zu verschwenden.