【问题标题】:Generating truth tables of integers with boolean operations使用布尔运算生成整数真值表
【发布时间】:2014-03-04 13:35:56
【问题描述】:

我正在尝试生成一个“整数”真值表。首先,我需要有 2 个整数列表,就像这个表一样:

1 1   
1 2
2 1
2 2

然后我需要使用布尔运算符来生成这样的表:

1 1 2 1 2 2
1 2 1 2 2 1
2 1 1 2 1 2
2 2 2 1 1 1

我查看了一些相关问题,例如: Generating truth tables in Javaboolean operations with integers 但我仍然不知道如何在 VB.net 中编写它。所以我感谢你的帮助和时间。 :) 谢谢!

【问题讨论】:

  • 我不明白你的真值表的逻辑。
  • 您在这个任务的哪个部分遇到了问题?例如,您是否难以生成整数、进行布尔运算或输出数字或结果表?
  • 我的表格的逻辑是:如果 x=1 则为真,如果 x=2 则为假。我不知道如何制作列表和生成表格。布尔运算是 xor、xnor 和 not。
  • 通常,0 为假,1(或非零)为真。您当然选择了一些奇怪的数字来表示这一点。
  • 那么,您尝试了哪些方法,具体遇到了什么问题?你试过的东西没有用怎么办?目前还很不清楚你在问什么,除非你只是要求别人为你写所有的代码,也就是说,这是不受欢迎的。

标签: vb.net boolean boolean-operations truthtable


【解决方案1】:

我假设您想要Xor 布尔值而不是整数本身的二进制表示。所以我的回答是基于这个假设。

如果你用1代表True,2代表False,那么我建议你写一些转换函数。

Private Function IntegerToBoolean(number As Integer) As Boolean
    Return If(number = 1, True, False)
End Function

Private Function BooleanToInteger(bool As Boolean) As Integer
    Return If(bool, 1, 2)
End Function

然后,使用这些,编写其他函数相当简单:

Private Function IntegerXor(int1 As Integer, int2 As Integer) As Integer
    Dim bool1 As Boolean = IntegerToBoolean(int1)
    Dim bool2 As Boolean = IntegerToBoolean(int2)
    Dim boolResult as Boolean = (bool1 Xor bool2)
    Return BooleanToInteger(boolResult)
End Function

等等

显然,您会为表中的每个数字执行此操作,并且您将为AndOr 创建额外的函数。

【讨论】:

  • 我刚刚意识到最后一个函数的名称IntegerXor 有点误导......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2012-09-27
  • 1970-01-01
  • 2014-01-02
  • 2020-04-02
相关资源
最近更新 更多