二进制和操作

Cad*_*dab -1 c# binary

我正在尝试根据MSDN关于&Operator的文章在c#中进行一些Binary AND操作

如果我做:

1111 & 10 = 2 (0010) // Which is what i expect
Run Code Online (Sandbox Code Playgroud)

然而,

1111 & 100 = 68 (1000100) // Which is **not** what i expect.
Run Code Online (Sandbox Code Playgroud)

我原以为输出会是100

在此输入图像描述

我错过了什么?

Ser*_*rvy 7

您指定的数字1111和100被视为基数10,而不是二进制数.

如果你想要二进制整数1111,你应该输入15,因为这是基本10版本.所以:

15 & 44如预期的那样成为现实.

C#中没有用于指定二进制整数文字的语法.您没有任何选择,只能自己将它们转换为基数,或使用运行时转换,例如通过Convert.ToInt.