Example

int main(int argc, char* argv[])
{

int var = 10;
int result = var & 0x01;

return result;
}

Solution
Only use unsigned types with bitwise operators.

int main(int argc, char* argv[])
{
unsigned int var = 10;
int result = var & 0x01;

return result;

}