按位补语

rap*_*yen 2 c bit-manipulation twos-complement

我有一个样本问题w=1,y=7,z=0,x = ~(w && y) | y;解决的办法是x = -1,但我想不通为什么?

这是我的思考过程:
(w && y)=(1 && 7)= 1
~11
比特是0000 0001
〜1比特是1111 1110

不知道该怎么做.

tva*_*son 6

最后一步是按位OR,所以你得到:

1111 1110 | 0000 0111 = 1111 1111
Run Code Online (Sandbox Code Playgroud)

这是-1.