digitalWrite(dataB, grp == 0 ? 0 : 1);

ElEspanol hat m.E. aber Recht.... Denn das ausgewertete Ergebnis ist in diesem Fall nur 1 oder 0, also "true" oder "false", oder HIGH bzw. LOW. Wenn man sich die binären Sachen genauer ansieht stellt man fest, dass 0 "false" ist ... und "alles ungleich 0" = "true". Somit hat seine Aussage in diesem Fall Bestand.

Ich gehe mal viel eher davon aus, dass dieser Codeschnippsel ein Überbleibsel einer nicht ganz abgeschlossenen Optimierung der Entwicklung ist. Oder der Entwickler versucht damit, seine "Handschrift" wiederzuerkennen falls irgendwo bedenkenlos abgekupfert wird...

Es sieht ja auch viel intelligenter aus wenn man schreibt:
1und1.jpg
als wenn man das schnöde 1+1=2 in den Code meißelt...