c# - C#中的字节操作

标签 c# .net algorithm function logic

我正在编写应用程序来控制 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.在对问题的评论中注释,该函数称为蕴涵,即 AB

关于c# - C#中的字节操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4631240/

相关文章:

c# - 我们如何显示组属性及其实体?

c# - C# 中的构造函数

c# - C# 中的元组和解包赋值支持?

algorithm - 如果我对唯一的字符串使用简单的替换算法,输出是否总是唯一的?

algorithm - 生成随机列联表的有效方法?

c# - 如何在 WPF C# 中获取 treeviewitem 的级别?

c# - 我应该在 C# 中选择哪个通用集合来维护排序的 "list"

c# - 确定 MemberExpressions 目标的范围

c# - System.Diaganostics.Process.Id 与任务管理器中显示的进程 ID 不同。为什么?

algorithm - 将 3 * K 数组划分为 K 个相等的子数组算法