wie wärs mit dem XOR
- - - Aktualisiert - - -Code:a ^= 1 << 7; // bit 7 toggeln
hab' noch eine gute Doku zu Bitmanipulationen gefunden, vielleicht hilft es zum Verständnis:
https://www.mikrocontroller.net/arti...itmanipulation
Hallo,
nach langer erfolgloser google suche, frage ich nun hier mal nach:
Ich möchte gerne folgendes realisieren:
Ich möchte gerne jedes einzelne Bit einer int variable ansprechen bzw negieren.
Sprich wenn z.B. eine If-Bedinung war ist, soll in der If Schleife ein bestimmtes Bit einer int Variable negiert werden:
If (TURE){
Aus: a = 0000 0001 soll z.B. 1000 0001 ( Das 8.Bit wurde negiert)
Danke
wie wärs mit dem XOR
- - - Aktualisiert - - -Code:a ^= 1 << 7; // bit 7 toggeln
hab' noch eine gute Doku zu Bitmanipulationen gefunden, vielleicht hilft es zum Verständnis:
https://www.mikrocontroller.net/arti...itmanipulation
Wenn man weis dass es 1 werden soll dann mit oder
// setze bit 7 auf 1
a |= (1<<7);
// lösche bit 7
a &= ~(1<<7);
[Klugscheiss Modus an]
Das gesetzte Bit ist Bit 7 und nicht 8
2^7 = 128 (MSB eines char/bytes)
2^0 = 1 (LSB eines char/bytes)
[/Klugscheiss Modus an]
https://de.wikipedia.org/wiki/Bitwertigkeit
Danke.
Meinte auch eigentlich das 7.Bit. War in gedanken bei 1Byte= 8Bit. Deswegen habe ich vermutlich versehentlich 8 geschrieben.
Aber trotzdem danke für die Info. Es soll ja auch korrekt hier stehen, nicht das irgendwer anders das mal liest und meint es wäre so richtig, wie ich es versehentlich falsch geschrieben habe.
Lesezeichen