Na, da möcht ich aber doch den C verteidigen.
Bits braucht man (meistens) auf zwei Arten:
als Maske (&B00100000) für OR und AND
und als Bit-offset ( 5) für Bit-SET befehle
ein Port-Pin müßte man also zweifach definieren
#define V_PB5 5
#define M_PB5 0x20
das ist gefährlich bei Projekt Anpassungen etc und vor allem grad bei µC recht umfangreich
also definiert man nur
#define V_PB5 5
und die Maske eben direkt im Befehl
XXbyte |= (1 << V_PB5) oder
XXbyte &= ~(1 << V_PB5)
das ist dann nur Arbeit für den Compiler, zur Laufzeit kost' das nix
Lesezeichen