Не хотел писать, ну да ладно, напишу. Может и вправду прегодиться.
Твоя конструкция:
Код
if ((PIND&0x04) == 0);
else z += 1;
равносильна этой:
Код
if( PIND & (1<<PORT2) ) z++;
только заметь, что второй пример читать намного легче и компилятор по этому коду сгенерирует более оптимальный объектный файл (хотя для
GCC это не актуально).