Das Zählen in Einerschritten sollte klar sein:
Code:
var = (var+1) & 0xf; // 0,1,2...15,0,1,...
Für die anderen Werte geht z.B. (ist wohl am schnellsten)
Code:
var = (var+1) & 0xf; // 0,1,2...15,0,1,...
var2 = (var & 7) << 1;
if (var & (1 << 3))
   var2 |= 1;