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

RudiDL5:
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.

Genau das ist meine Annahme.
Sonst hätte ich
digitalWrite(dataB, !!grp);geschrieben