unsigned char foo; switch (foo) { case 0xAA: do stuff; break; case 0xAB: do stuff; break; } switch (foo & 0xF0) { case 0xA { switch (foo & 0x0F) { case 0xA: do stuff; break; case 0xB: do stuff; break; } break; } }