我正在编写应用程序来控制 LPT 上的 LED。 除了这个,我一切正常。 这是一个小功能。
我有这样的事情:
我想构建一个接受两个参数并返回一个数字的函数: 在实际代码中,这些二进制数字将采用十六进制。我把它们放在那里是为了让你更容易想象它。
示例 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 次。
最佳答案
本质上,第二个参数中的设置位是您要删除的位。所以你可以简单地 and 与否定的第二个参数:
byte Foo(byte a, byte b) {
return (byte)(a & ~b);
}
您的示例至少遵循这一点。
作为Alexandre C.在对问题的评论中注释,该函数称为蕴涵,即 A ⇒ B。
关于c# - C#中的字节操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4631240/