Хороший вопрос о
ько что попробовал с этим кодом:
void swapBit(unsigned char* numbA, unsigned char* numbB, short bitPosition)//bitPosition 0-x
{
unsigned char oneShift = 1 << bitPosition;
unsigned char bitA = *numbA & oneShift;
unsigned char bitB = *numbB & oneShift;
if (bitA)
*numbB |= bitA;
else
*numbB &= (~bitA ^ oneShift);
if (bitB)
*numbA |= bitB;
else
*numbA &= (~bitB ^ oneShift);
}
поменять местами биты x и a, но из-за if () я думаю, что есть что-то лучше
Также когда я вижу это:
*numbB &= (~bitA ^ oneShift);
Я действительно думаю, что есть более простой способ сделать это. Если у вас есть что-то для меня, я бы взял это :)
заранее спасибо