有人可以解释这个程序的输出吗?

1 c#

有人可以解释为什么这个程序输出0x00000004?

class AndAssignment
{
    static void Main()
    {
        int a = 0x0c;
        a &= 0x06;
        Console.WriteLine("0x{0:x8}", a);
    }
}
/*
Output:
0x00000004 

*/
Run Code Online (Sandbox Code Playgroud)

oku*_*ane 14

0x0c = 1100二进制
0x06 = 0110二进制
&操作是二进制AND,如果在两个操作数中设置,则将其设置为1,因此:
0x0c&0x06 = 1100&0110 = 0100 = 0x04
您可以使用Windows计算器查看如何整数以不同的形式呈现(在您的情况下为十六进制和二进制).更多信息.