Forum: Mikrocontroller und Digitale Elektronik bool'scher Array für Bitmap sinnvoll?


von Alexander I. (daedalus)


Lesenswert?

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.

von Uhu U. (uhu)


Lesenswert?

Dann verplemperst Du pro bool 7 Bit, aber dafür wird Dein Programm 
schneller, weil die Bitpfriemelei entfällt.

von Alexander I. (daedalus)


Lesenswert?

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.

von Philipp B. (philipp_burch)


Lesenswert?

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
Noch kein Account? Hier anmelden.