C#中的字节操作

时间:2011-01-07 23:32:12

标签: c# .net algorithm function logic

我正在编写应用程序来控制LPT上的LEDS。 除了这个,我有一切工作。 这是一个小功能。

我是这样的:

我想构建将接受两个参数并返回一个数字的函数: 在实际代码中,这些二进制数字将是十六进制的。我把它们放在那里,以便你更容易想象它。

例1:

arg1 = 1100 1100
arg2 = 1001 0001
retu = 0100 1100

例2:

arg1 = 1111 1111
arg2 = 0001 0010
retu = 1110 1101

示例3:

arg1 = 1111 0000
arg2 = 0010 0010
retu = 1101 0000

我不知道这个功能应该是怎样的。 我希望它尽可能快。

我将每秒调用此功能200次。

1 个答案:

答案 0 :(得分:11)

基本上,第二个参数中的设置位是您要删除的位。所以你可以使用否定的第二个参数

byte Foo(byte a, byte b) {
  return (byte)(a & ~b);
}

你的例子至少遵循这个。

正如Alexandre C.在对问题的评论中指出的那样,该函数被称为暗示,即 A B