我正在尝试和两个不同的二进制数。 到目前为止这是我的代码(我发布到pastebin因为我不确定我在这里得到了布局) http://pastebin.com/FRT6Qig6
我的问题是我只是不明白我的答案应该是什么。或者即使我的代码正在做正确的事情。
namespace ConsoleApplication1 {
class Two {
public void run() {
byte a = 255;
byte b = 85;
byte c;
a = Convert.ToByte("10101111", 2); //85
b = Convert.ToByte("011111111", 2); //255
c = (byte) (a & b);
Console.WriteLine
("ANDing two bytes - decimal:{0:D3} hex:{0:x2} binary:{1}",
c, Convert.ToString(c, 2));
//wait until next press
Console.ReadKey();
}
}
}
答案 0 :(得分:2)
答案 1 :(得分:2)
因为字节中的所有位都以二进制的255
的无符号表示形式打开,所以使用255
ANDing 任何单字节值将返回您的输入< EM>不变:
0x1 & 0xFF == 0x1
0x2 & 0xFF == 0x2
..
0xFE & 0xFF == 0xFE
0xFF & 0xFF == 0xFF
只有当其中一个值没有打开时,才会变得更有趣:
0101 0101 & 0000 1111 == 0000 0101
答案 2 :(得分:0)
我的答案应该是什么?
我会继续回答这个问题
A和B的真值表如下:
A B值
1 1 1
1 0 0
0 1 0
0 0 0
A OR B的真值表如下:
A B值
1 1 1
1 0 1
0 1 1
0 0 0