auf bits zugreifen ist was anderes als zu verstehen was bei operationen mit den bits passiert. Wenn du "variable1 + variable2" ausführst wird eine binäre operation ausgeführt und wenn du diese operationen verstehst dann weißt du auch wie man üblicherweise bits manipuliert. Auch bei "if (ausdruck1 or ausdruck2)" wird eine bitoperation ausgeführt wo letztendlich dann die bits anders stehen. Das zu verstehen sollte bei der Arbeit mit Microcontrollern nicht schaden. Denn wenn du das weißt, weißt du auch wo du mit Optimierungen anfangen kannst. Ein Bits setzen geht übrigens mit or.
Variable1: 010000
Variable2: 000010
mit or verknüpft:
Variable3: 010010
Wenn also das eine bit oder das andere gesetzt ist wird es auch beim ergebnis gesetzt.
Delphi-Quellcode:
function setbit(variable: Integer; bitindex: Byte): Integer;
begin
result := variable or (1 shl bitindex);
end;