Manfred W. schrieb:
> Hiermit: if(!(KEY_PIN &(1<<KEY2)))
>
Und das allgemeine Schema dafür ist:
Byte & ( 1 << Bitnummer )
'extrahiert' das Bit mit der Bitnummer 'Bitnummer' aus Byte. Der
Ausdruck liefert 0, wenn das Bit 0 war und einen Wert ungleich 0, wenn
es 1 war.
Dieses Schema hast du bei der Auswertung von KEY_PIN benutzt und
natürlich kannst du auch dieses Schema bei der 'Zerlegung' bzw.
'Auswertung' von Summe benutzen.
Programmieren findet nicht statt, indem man sich Unmengen an
Codestückchen merkt, sondern indem man sich die allgemeinen Schemata
merkt und erkennt wann welches Schema angebracht ist.
> Ich dachte das würde man vielleicht mit einer einzigen Anweisung
> hinbekommen.
Dann hätte man das wohl auch bei der Abfrage von KEY_PIN benutzt, bzw.
es würde einen Hinweis im Artikel 'Bitmanipulation' geben.
> ergibt ja im prinzip wieder das
> gleiche wie ich es mit der Switch-Anweisung gemacht habe.
Das hingegen ist ein Irrtum. Ein großer Irrtum!