numpy中的一元运算符~有什么作用?
我看到了一段用Python的numpy库写的代码,内容是这样的:
~array([0,1,2,3,4,5,4,3,2,1,0,-1,-2])
运行后得到了这个结果:
array([-1, -2, -3, -4, -5, -6, -5, -4, -3, -2, -1, 0, 1])
请问这个一元运算符(~)是怎么作用于数组的?它的效果是把A变成-(A+1)吗?
如果真是这样,那这样做有什么意义呢?
4 个回答
2
这个 ~ 符号是一个叫做“反码”的操作符。如果你在用整数的时候,可以在任何 Python 程序中使用它(并不是只有在 numpy 中才能用)。
4
http://en.wikipedia.org/wiki/Bitwise_operation#NOT
你会得到负数的原因是因为它们在二进制中是怎么表示的: