Czy może mi ktoś wytłumaczyć dlaczego wartością tego wyrażenia jest true ?
if (!(!(1||0) && !(0||1)))
// jakis kod
else
// jakis inny kod
Idąc od środka mam:
(!(!(1) && (0)))
!(0 ) && 0
1 && 0
0
Czy może mi ktoś wytłumaczyć dlaczego wartością tego wyrażenia jest true ?
if (!(!(1||0) && !(0||1)))
// jakis kod
else
// jakis inny kod
Idąc od środka mam:
(!(!(1) && (0)))
!(0 ) && 0
1 && 0
0
Może przepisanie na Scheme Ci trochę pomoże:
(not (and (not (or true false)) (not (or false true))))
Całość można zamienić (używając praw de'Morgana) na:
((1 || 0) || (0 || 1)) == (1 || 0 || 0 || 1) == 1
!(1||0) false
!(0||1) false
0 && 0 false
!(0 && 0) true
not( (not (true or false)) and (not (false or true))) )
not (true or false) = not true = false
not (false or true) = not true = false
not (false and false)
not false
true