有人可以解释为什么这个程序输出0x00000004?
class AndAssignment { static void Main() { int a = 0x0c; a &= 0x06; Console.WriteLine("0x{0:x8}", a); } } /* Output: 0x00000004 */
okutane.. 14
0x0c = 1100二进制
0x06 = 0110二进制
&操作是二进制AND,如果在两个操作数中设置,则将其设置为1,因此:
0x0c&0x06 = 1100&0110 = 0100 = 0x04
您可以使用Windows计算器查看如何整数以不同的形式呈现(在您的情况下为十六进制和二进制).更多信息.
0x0c = 1100二进制
0x06 = 0110二进制
&操作是二进制AND,如果在两个操作数中设置,则将其设置为1,因此:
0x0c&0x06 = 1100&0110 = 0100 = 0x04
您可以使用Windows计算器查看如何整数以不同的形式呈现(在您的情况下为十六进制和二进制).更多信息.