【问题标题】:OR operation can't calculate original value?OR运算不能计算原值?
【发布时间】:2018-10-14 15:55:09
【问题描述】:
a|b=c

知道ac,如何计算b

例如:

0011 | b = 0111

知道a = 0011c = 0111,如何判断b0101

【问题讨论】:

  • 您的问题尚未确定。它可以存在多个值...最简单的答案是如果 a|b=c for b unknown 那么 b=c 是一个有效的答案...
  • 能否请您澄清您的问题。
  • 您感到困惑或| 和xor ^,或未确定。但是,使用 xor 解决方案将是 What is inverse function to XOR?

标签: c byte


【解决方案1】:

在某些逻辑中,未知X 也有一个“值”

所以如果你想从a|b=c 得到b => 0011 | b = 0111 在我看来最好的答案是01XX

一切:

  • 0 in c 必须是 0 in b
  • 1 in c0 in a 必须是 1 in b
  • 1c1a 是未知的X

【讨论】:

    【解决方案2】:

    会有不止一个正确答案。

    为简单起见,请考虑一个简单的示例:1|0 = 1,即 a=1、b=0 和 c=1。在这种情况下,b 也可以是 1。

    所以假设a 中的位是1,我们将无法确定b 中的位是0 还是1。

    【讨论】:

      猜你喜欢
      • 2015-07-08
      • 2012-05-15
      • 1970-01-01
      • 2017-03-14
      • 2019-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多