Hi,
wie schreibt man denn das ein nicht gesetztes eingangs Bit?
Also wenn es gesetzt ist dann sieht das z.B. so aus.
if(PINB & (1<<PINB2))
{dann...;}
und wie sieht das Gegenteil aus? Ich hab es mit
if(PINB & (0<<PINB2))
{dann...;}
versucht, aber das ging nicht.
Kauf dir ein C-Buch! if(!(PINB & (1<<PINB2)))
Gast
#2269882
Bitmanipulation + C-Grundlagen
1 | |
Ob man eine Klammerebene einsparen kann erzählt dir Karl-Heinz (oder jemand anders der die Operatorprioritäten kennt).
Ok, ich danke euch beiden für die Hilfe.
Gast
#2279189
deutsche Sprache schwere Sprache schrieb: > Bitmanipulation + C-Grundlagen > if( ! ( PINB & (1<<PINB2) ) ) > > Ob man eine Klammerebene einsparen kann erzählt dir Karl-Heinz (oder > jemand anders der die Operatorprioritäten kennt). google: C operator precedence - ich mach das auch häufig, ist denke ich kein Disqualifikationsurteil :) So gestern erst zur Schreibweise (*var)[i] gebraucht :) (wobei das bei näherem Nachdenken logisch ist) Der Not-Operator ! bindet zusammen mit allen anderen Unären Operatoren sehr stark. Jegliche Binäre Operatoren sind schwächer bindend angeordnet. Somit ist die Klammerung notwendig :) Nimmst du ein ~ statt des ! kannst du sie aber weglassen - Da ich das noch nie gesehen habe und selbst auch unschön finde (ganz zu schweigen der Tatsache was der Compiler draus macht) würde ich das nicht empfehlen.
Benutzer schrieb: > Nimmst du ein ~ statt > des ! kannst du sie aber weglassen - Da ich das noch nie gesehen habe > und selbst auch unschön finde (ganz zu schweigen der Tatsache was der > Compiler draus macht) würde ich das nicht empfehlen. Außerdem würde es nicht funktionieren. Mit einem ~ statt des ! wäre der Ausdruck immer wahr.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.