Вы можете представить это так:
!(!(a))
Если вы делаете это шаг за шагом, это имеет смысл
result = !42; //Result = 0
result = !(!42) //Result = 1 because !0 = 1
. Это вернет 1
с любым номером (-42, 4.2f и т. Д.), Но только с 0
, это произойдет
result = !0; //Result = 1
result = !(!0) //result = 0