Я работаю над логикой c, которая научит меня, как работают биты и манипуляции с битами, и я пытаюсь просмотреть определенный c бит данного шестнадцатеричного числа. Например, f0f0 имеет следующее значение бита 1111000011110000. Итак, допустим, я пытаюсь просмотреть i-й бит, скажем, например, я выбираю 4-ю позицию, моя логика c должна вернуть 1. Я попытался сделать это, выполнив это logi c:
unsigned int desiredBit = hex & (1 << decimal);
printf("%x\n", desiredBit);
Кажется, это работает в любое время, когда бит равен 0, но когда бит равен 1, он выплевывает кратное 10. Я предполагал, что выполнение <<
просто возьми меня на эту позицию, но я думаю, что я был неправ. Любое руководство о том, как исправить мою логи c?