mikrocontroller.net

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


Autor: Alexander I. (daedalus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uhu Uhuhu (uhu)
Datum:

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

Autor: Alexander I. (daedalus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.