T
junix schrieb:
Aber widerspricht das nicht etwas deiner Haltung lieber noch zwei Negierungen einzufügen? Ich würde mal behaupten der Compiler schmeisst die sowieso schon raus.
ja, die zwei negierungen sorgen dafür, dass es 'logisch richtig' ist, fliegen aber im erzeugten maschinencode komplett raus, wenn man den output von GET_BIT auf wahr oder falsch überprüft (if, while, ect.). wenn man GET_BIT() einer variablen zuweist, z.b. "int x = GET_BIT(...);", dann sorgt der compiler dafür, dass nix anderes als 0 oder 1 in dieser variablen landet. natürlich erkennt er auch hierbei die beiden negierungen direkt hintereinander und kann das sehr gut optimieren...