I am having trouble trying to understand how logical operators work in C. I already understand how the bit-level operators work, and I also know that logical operators treat
&& is a logical operator, not a bitwise operator. Both 0x65 and 0x55 are true, so the result is a true number. 0x01 is a true number.
&&
Binary representations only come into play for bitwise operations. The expression 0x65 & 0x55 is equal to 0x45.
0x65 & 0x55
0x45