übersetzung von c-code

Gast #1298997
Lesenswert?
• ▲
▼
Hallo, ich brauche mal kurz eure Hilfe, ich habe diese Zeile C-Code 
gefunden, in einem Programm eines Bekannten, der leider nicht mehr unter 
uns weilt, deshalb kann ich ihn nicht fragen
1
if ((anweisung & 0x80) == 0x00)

Die inneren Klammern bedeuten, bzw kontrollieren, ob das 7. Bit in 
"anweisung" gesetzt ist, so weit bin ich mit Hilfe des forums schon 
gekommen ;) jetzt wäre meien Interpretation, des Rests:

Wenn das 7. Bit gesetzt ist in "anweisung" (die inneren Klammern also 
wahr sind) DANN vergleicht er ob sie 0x00 (also false?) sind?

Dann könnte ichs doch auch so schreiben, oder?
1
if !(instruc & 0x80)

Danke für eure Hilfen!
Persönliche Seite #1299007
Lesenswert?
• ▲
▼
> Wenn das 7. Bit gesetzt ist in "anweisung" (die inneren Klammern also
> wahr sind) DANN vergleicht er ob sie 0x00 (also false?) sind?

Spitzfindigkeit. Die Operation in der inneren Klammer überprüft nicht, 
ob das Bit gesetzt ist, sie isoliert den Wert des Bits aus dem 
Parameter.

Ob das Bit gesetzt ist oder nicht, wird erst mit dem darauffolgenden 
Vergleich bestimmt.


> Dann könnte ichs doch auch so schreiben, oder?
>
1
>  if !(instruc & 0x80)

Im Prinzip ja, nur so:
1
if (!(instruc & 0x80))

Vergleiche mit 0 lassen sich immer auf diese Art ausdrücken.

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