bit bitVal; unsigned char byteVal; : : bitVal = byteVal;
bitVal = byteVal & 0x01 // Equivalent to A or bitVal = (byteVal > 0) // Equivalent to B
I'd expect it to be:
bit bitVar; char charVar = 0xA5; bitVar = charVar; // would be interp. as below, e.g. a boolean treatment of charVar. bitVar = !!charVar;