В двух ваших переписанных версиях вам понадобится ИЛИ (||
), а не И (&&
). Это верно в любое время, когда вы инвертируете составные части условия AND.
! (x < 0 && y < 0)
равно true
, если x
равно >= 0
и y
равно < 0
. Чтобы получить тот же результат в другой форме, вам понадобится x >= 0 || y >= 0
. (Обратите внимание, что это >=
, а не просто >
, но основной смысл был ||
, а не &&
.)
Как указывает ernest_k, это одно конкретное применение Законы де Моргана .