为了测试使用更基本的构建块(在我的例子中使用 Nand、Or 和 And)构建 Xor 操作,我需要能够执行 Not 操作。内置的not
似乎只用单个位来做到这一点。如果我做:
x = 0b1100
x = not x
我应该得到0b0011
但我只是得到0b0
。我究竟做错了什么?或者Python只是缺少这个基本功能?
我知道 Python 有一个内置的 Xor 函数,但我一直在使用 Python 来测试需要构建 Xor 门的 HDL 项目/课程。我想在 Python 中对此进行测试,但如果没有与非门等效的东西,我就无法进行测试。
使用时出现的问题~
在 Python 中,它可以处理有符号整数。这也是唯一真正有意义的方法,除非您将自己限制在特定的位数。它will按位数学可以正常工作,但它可能会使解释中间结果变得困难。
对于 4 位逻辑,您应该只减去0b1111
0b1111 - 0b1100 # == 0b0011
对于 8 位逻辑,减去0b11111111
etc.
一般形式是
def bit_not(n, numbits=8):
return (1 << numbits) - 1 - n
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)