Bits aus hex extrahieren

Gast #1584187
Lesenswert?

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
Lesenswert?

> 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
#1584813
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren