假设我有一个黑盒,有3个输入(每个输入是1位)和2位输出。
黑框统计打开的输入位的数量。
只使用这样的黑匣子,就需要实现输入中开启位的计数器,它有7位,实现时应该使用尽可能少的黑匣子。
/这是一个面试问题

最佳答案

你在做一个二进制加法器。试试这个。。。
两个黑色输入框,剩余一个输入:

 7 6 5      4 3 2      1
 | | |      | | |      |
-------    -------     |
|     |    |     |     |
| H L |    | H L |     |
-------    -------     |
  | |        | |       |

将两个低输出和其余输入(1)输入到另一个黑盒:
            L L 1
            | | |
           -------
           |     |
           | C L |
           -------
             | |

此黑框的低输出将是结果的低位。高输出是进位。将该进位与前两个黑匣子的高位一起送入第四个黑匣子:
 H H C   L
 | | |   |
-------  |
|     |  |
| H M |  |
-------  |
  | |    |

结果应该是输入中由高、中、低位以二进制表示的“开”位数。

10-01 14:18