aktus pisze:W pierwszym wypadku maskujesz zanegowany PINC, a w drugim przypadku negujesz zamaskowany PINC. Ot filozofia latania.
c4r0 pisze:Składniowo warunek napisany w pierwszym poście jest poprawny...
Pozwolę sobie wypowiedzieć się autorytarnie, że to nie prawda. Zapis:
Absolutnie nie jest prawidłowy. Operator "!" to negacja LOGICZNA, nie BITOWA. Zapis mógłby wyglądać następująco:
Różnica jest taka, że operator ~ gwarantuje zanegowanie wszystkich bitów. Operator ! gwarantuje, że wartość 0 zostanie zamieniona na
coś innego niż 0 (zwykle 1, ale to nie jest fakt objęty standardem) a wartość
inna niż 0 zamieniana jest na 0 (operowanie na wartościach true i false).
Najlepiej poprawić kod tak jak zaproponował
Aro. Taki zapis "ułatwia" kompilatorowi optymalizację kodu.