[RESOLVED] 2D Array

values[(int)first / 8][second] |= (data << (first % 8));

What if "data" is zero, and the bit already there is one?

If you're not comfortable with bit operations, use bitRead and bitWrite, or look at their source to see how to do it properly.