用VB.NET实现逆向非蕴涵

用VB.NET实现逆向非蕴涵,.net,vb.net,boolean-logic,.net,Vb.net,Boolean Logic,如何使用VB.NET(在两个整数之间)进行计算 我有两个标志枚举myFlag1和myFlag2,希望获得myFlag3,其中只包含myFlag2中的值,但不包含myFlag1中的值 我知道异或运算符,但这不好 说我有 010110 100011 ------ 100001 (this is what I need) 也 这几乎就是当你试图向某人解释时,你会大声说出来的方式。:) 这几乎就是当你试图向某人解释时,你会大声说出来的方式。:) 你试过什么?你链接的页面上的真值表非常简单……你链接的

如何使用VB.NET(在两个整数之间)进行计算

我有两个标志枚举
myFlag1
myFlag2
,希望获得
myFlag3
,其中只包含
myFlag2
中的值,但不包含
myFlag1
中的值
我知道异或运算符,但这不好

说我有

010110
100011
------
100001 (this is what I need)

这几乎就是当你试图向某人解释时,你会大声说出来的方式。:)



这几乎就是当你试图向某人解释时,你会大声说出来的方式。:)

你试过什么?你链接的页面上的真值表非常简单……你链接的文章都是关于布尔逻辑的。你能解释一下这是怎么转换成整数的吗?我有两个标志枚举。并想得到逆非蕴涵。我知道XOR运算符,但这并不好。你应该发布一个预期输出的示例,并在纸上简要说明你是如何得到输出的。那么,向您提供VB.net语法就容易多了(而且感觉不那么简单,我们只是在您的家庭作业工作表上为您提供问题X的答案)。您提到您知道XOR,但它并不好。在你的家庭作业中使用它有限制吗?你试过什么?你链接的页面上的真值表非常简单……你链接的文章都是关于布尔逻辑的。你能解释一下这是怎么转换成整数的吗?我有两个标志枚举。并想得到逆非蕴涵。我知道XOR运算符,但这并不好。你应该发布一个预期输出的示例,并在纸上简要说明你是如何得到输出的。那么,向您提供VB.net语法就容易多了(而且感觉不那么简单,我们只是在您的家庭作业工作表上为您提供问题X的答案)。您提到您知道XOR,但它并不好。在你的家庭作业中使用它有限制吗?我最初使用的数字并不取决于你的例子。我已经更新了我的答案。结果是33(或10001),进行测试。@MikeC-示例中的数字是22和35:),也就是说,您的代码仍然正确。@pstrjds-很抱歉,我颠倒了我的“endianness”,我将修复它:)。但正如你所说,无论哪种方法都有效。@MikeC-别担心,你仍然赢得了我的选票……我的第一个答案是(a&b)^b,你的答案更干净。此外,我还完全欺骗了二进制转换,并使用了windows计算器,因为我认为endianness将与VB匹配。@serhio你在说什么?这段代码也适用于第二个示例。我用
7
5
作为测试。结果是0。我最初使用的数字与您的示例无关。我已经更新了我的答案。结果是33(或10001),进行测试。@MikeC-示例中的数字是22和35:),也就是说,您的代码仍然正确。@pstrjds-很抱歉,我颠倒了我的“endianness”,我将修复它:)。但正如你所说,无论哪种方法都有效。@MikeC-别担心,你仍然赢得了我的选票……我的第一个答案是(a&b)^b,你的答案更干净。此外,我还完全欺骗了二进制转换,并使用了windows计算器,因为我认为endianness将与VB匹配。@serhio你在说什么?这段代码也适用于第二个示例。我用
7
5
作为测试。结果是0。
111
101
---
000
Dim a As Integer = 22
Dim b As Integer = 35

Dim output As Integer = (b And Not a)