Bits aus hex extrahieren

Gast #1584187
Hallo,

Stehe vor dem Problem das ich ein GLCD ANsteuern will.

Ich habe z.b ein Hex format für ein Bitmap.

nun will ich einzelene pixel screiben aus einer hex.

z.b

0x00,0x1c,0xff


in einer schleife 0 bis 7 will ich schauen ob das bit =1 für Pixel 
sezten oder bit=0 für nicht setzten.

0x00 = 00000000
0x1c = 00011100

in einen codestück habe ich folgendes gesehen

for(j=0;j<8;j++)
{
if(ox1c&(32>>j))
{setztepixel()
}
else
{löschepixel()
}
}

da bekomme ich aber nur 6 stellen statt 8.

was hat diese Bitverschiebung zu bedeuten???


Danke

Herrmann
Gast #1584213
> in einen codestück habe ich folgendes gesehen
> was hat diese Bitverschiebung zu bedeuten???

da du uns die Zielplattform nicht nennst, von "gesehenen" Code redest, 
hilft ein Blatt Papier. Male die Bits nach jedem Schleifendurchgang auf 
und versuche so das ganze nachzuvollziehen.

ein Tipp: 32 ist das 6. Bit in einem Byte
Gast #1584358
Hallo,

Ja habe es eben auch bemerkt.

32 ist das 6 bit das 8 bit ist 128 damit gehts.

Danke

Manchmal hat man eben doch ein brett vorm kopf.
Habe das ganze mal mit DEV CPP  Durchgespeilt.
#1584813
Herrmann schrieb:

> Manchmal hat man eben doch ein brett vorm kopf.

das man selbst dorthin platziert hat.
Wenn du auf Bitebene operierst, dann sind Dezimalzahlen so ziemlich die 
unübersichtlichste Zahlendarstellung die du wählen kannst. OK. Du 
hättest noch Zahlen zur Basis 27 nehmen können. Das wäre noch 
unübersichtlicher gewesen.
#1585029
Matthias Lipinsky schrieb:
>>ein Tipp: 32 ist das 6. Bit in einem Byte
>
> Das ist das fünfte Bit, denn 2^5=32.

Na, wenn wir schon kleinlich werden wollen, dann aber richtig. ;-)

Es ist Bit 5, aber es ist das 6. Bit. So was wie "nullte" gibt es 
nämlich gar nicht, weder sprachlich, noch logisch.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.