Forum: Mikrocontroller und Digitale Elektronik Dualzahlenproblem


von Grübler (Gast)


Lesenswert?

Hallo zusammen.

In einem Programm muss ich prüfen,
ob alle 1er-Bits in einer Zahl A auch
in einer Zahl B vorhanden sind.
Alle Zahlen haben immer 8Bit

Beispiel 1: Zahl A: 00001001
            Zahl B: 00101001
      Alle 1er in Zahl A sind in Zahl B

Beispiel 2: Zahl A: 00001101
            Zahl B: 00101001
Nicht alle 1er in Zahl A sind in Zahl B

Meine Lösung:
Wenn A EXOR B   und   B - A
den gleichen Wert ergeben ist die Bedingung
erfüllt. Das klappt aber nur bei B > A, was
aber nicht immer erfüllt ist. Besser währe
es, wenn man es nur mit Verknüpfungen
herausfinden könnte.

Wer hat eine besser Lösung.
Schon mal vielen Dank für mitgrübeln.

von Spielverderber (Gast)


Lesenswert?

wenn ( A and B ) == A gilt, sind alle 1en von A in B :)

von Karl H. (kbuchegg)


Lesenswert?

if ( ( A & B ) == A )

von Michael H. (michael_h45)


Lesenswert?

if ((A&B)==A) reicht

von CodeHamster (Gast)


Lesenswert?

wenn ich mich jetzt nicht arg täusche wie wärs damit?

if ((A & B) == A){
 // Bedingung erfüllt
}else{
 // Bedingugn nicht erfüllt
}

von Michael H. (michael_h45)


Lesenswert?

Nicht mal für meinen "viel zu langsam" Nachtrag hatte ich noch Zeit =)

von Grübler (Gast)


Lesenswert?

Danke!
Manchmal hat man echt ein Brett vom Kopf.

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.