Welches Bit hat sich geändert bei der neuen Variable. und dies nur berücksichtigen wenn der wechsel von 0 auf 1 war. Beispiel Bit wechsel Bit0 und Bit1: 0101 <- alt 0110 <- neu ----------- 0010 <- ergebnis Wie bekommt man das in C hin?
Gast
#3260502
David Mueller schrieb: > Welches Bit hat sich geändert bei der neuen Variable. und dies nur > berücksichtigen wenn der wechsel von 0 auf 1 war. > > > Beispiel Bit wechsel Bit0 und Bit1: > > 0101 <- alt > 0110 <- neu > ----------- > 0010 <- ergebnis > > > Wie bekommt man das in C hin? C weis ich nich. Ist aber doch XOR
(alt^neu)&neu
Gast
#3260504
XOR? Wäre das Ergebnis dann nicht 0011?
Gast
#3260507
xor schrieb: > David Mueller schrieb: >> Welches Bit hat sich geändert bei der neuen Variable. und dies nur >> berücksichtigen wenn der wechsel von 0 auf 1 war. >> >> >> Beispiel Bit wechsel Bit0 und Bit1: >> >> 0101 <- alt >> 0110 <- neu >> ----------- >> 0010 <- ergebnis >> >> >> Wie bekommt man das in C hin? > > C weis ich nich. Ist aber doch XOR XOR ist hier nur die halbe Miete! Da gehört noch eine Maske und ein AND dazu.
Gast
#3260508
xor? schrieb: > XOR? Wäre das Ergebnis dann nicht 0011? Stimmt. Mist. Tschuldigung :(
du überliest seine zusätzliche anforderung dass nur wechsel von 0 auf 1 beruecksichtigt werden sollen
Gast
#3260511
(alt ^ neu) & neu
geaendert = new & ~alt; ?
Gast
#3260523
sina anargo schrieb: > du überliest seine zusätzliche anforderung dass nur wechsel von 0 auf 1 > beruecksichtigt werden sollen Gnau das wird ja mit dem &neu erreicht. Wenn neu auf 0 ist dann gibts 0.
Gast
#3260544
Es kommt darauf an was Du wissen willst. Willst Du nur wissen, ob sich irgendwas geändert hat ist XOR erste Wahl. Willst Du aber wissen wer, geht's nur mit einer Bit-für-Bit Abfrage. Möglicherweise hilft auch eine Kombination in der Form von: Feststellen ob irgendwas geändert und wenn ja, dann genau hingucken wer.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.