было a*( b!=0) стало a*(b?1:0) ассемблерный код остался тот же, но тат правильнее и читабельнее.
!0 ? 1:0; пусть компилятор сам соптимизирует :)