Hallo, kurze Frage zu C-Arrays: ich habe eine X*Y große Bitmap mit logischerweise den Zuständen 0 und 1 und verwende den MSP430 mit C++. Was passiert wenn ich einen 10x10-Array vom Typ bool anlege? Ich meine mal im Studium gehört zu haben, dass bei C die kleinstmögliche Einheit Bytes sind und es den bool'schen Datentyp nicht "in echt" gibt sondern dieser immer durch ein ganzes Byte im Speicher abgebildet wird? Für eine Bitmap dürfte es also keinen Unterschied machen ob ich mir einen 10x10-Array vom Datentyp bool anlege oder einen mit char oder byte anlege, der Speicherbedarf ist letztlich immer noch 10x10=100 Bytes, oder liege ich da falsch? Ich kann es leider gerade nicht selbst ausprobieren, sonst hätte ich es bereits gemacht :) Vielen Dank.
Dann verplemperst Du pro bool 7 Bit, aber dafür wird Dein Programm schneller, weil die Bitpfriemelei entfällt.
Danke, hab ich mir fast gedacht, wollts nur nochmal bestätigt wissen. Nachtrag: Speicherplatz ist bei mir knapper als Performance, deshalb nehm ich das - in meinem Fall sowieso öfters nötige - Bitgepfriemle gern in Kauf.
Je nach Ausgabe ist das überhaupt kein Bitgepfriemele und schneller als mit einem Byte pro Pixel. Z.B. wenn du jeweils 8 Bit gleichzeitig schreiben kannst, dann brauchst du nur das Byte auf den Port zu legen und auszugeben.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.