Forum: Compiler & IDEs Bits aus hex extrahieren


von Herrmann (Gast)


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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ersetze die 32 im Codefragment durch 128.

von klaus (Gast)


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

von Herrmann (Gast)


Lesenswert?

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.

von Karl H. (kbuchegg)


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.

von Matthias L. (Gast)


Lesenswert?

>ein Tipp: 32 ist das 6. Bit in einem Byte

Das ist das fünfte Bit, denn 2^5=32.

von Stefan E. (sternst)


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.

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.