Umwandeln HEX in Binärzahl

#366720
Lesenswert?
• ▲
▼
Du solltest dir Gedanken über die Darstellung von Zahlen in Prozessoren
und in der Digitalelektronik allgemein machen.
Ein Prozessor kann nur eine einzige Darstellung von Zahlen: binär. Ob
du in deinem Programm nun 0xF7 oder 247 oder 0b11110111 schreibst, ist
völlig egal.
Gast #366721
Lesenswert?
• ▲
▼
Also ich benötige die Umrechnung für ein GLCD.

Dort wird in einer Header Datei die Font abgelegt in HEX.

0xF7 bsp.

nun lese ich die Font

0xF7 und muß sie Bitweise untersuchen.
bitarray[8]=0xF7 natürlich vorher als binär umgerechnet das ist ja
meine frage

for (i=0;i<8;i++)
{
if(bitarray[i]==0)
{
schreibedaten(forecolor);
}
else
schreibedaten(backcolor);
}
}

das bedeutet ich definiere mir eine Schriftfarbe forcolor=schwarz und
eine Hintergrundfarbe =weiss

wenn der Bit gesetzt ist schreibt er ein schwarzez Pixel wenn nicht ein
Weisses.

am ende sieht man ein Zeichen auf dem DSP.

deshalb ist es wichtig das ich hex in binär umrechne.
#366722
Lesenswert?
• ▲
▼
"deshalb ist es wichtig das ich hex in binär umrechne."

Das ist Quatsch mit Soße.

Ganzzahlen werden in der CPU binär dargestellt.
Du kannst sie also nicht "in binär umrechen", weil sie schon binär
sind.

Du brauchst einfach nur ne Union zu machen aus einem Byte und dem
Bitfeld.

Allerdings ist bei den meisten Compilern das Rechnen mit Bitfeldene
extrem ineffizient.
Daher werden Bitfelder sehr selten benutzt und lieber geschoben und
maskiert:
1
unsigned char val, i;
2

3
for( i=8; i; i-- ){
4
  if( val = 1 )
5
    schreibedaten(forecolor);
6
  else
7
    schreibedaten(backcolor);
8
  val >>= 1;
9
}


Peter

Antwort schreiben

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.

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.