我没有理论,我不知道还能说些什么。
到目前为止,我一直认为两者都将值改为false。
但是,!,更改为true / false。
虽然,〜,负数变为1,因此2变为-3。为什么以及如何。
答案 0 :(得分:1)
〜(按位非)
在每个位上执行NOT运算符。不是a得到a的倒置值(a.k.a.的补码)。 NOT操作的真值表是:
a NOT a
0 1
1 0
示例强>
9 = 00000000000000000000000000001001 (base 2)
--------------------------------
~9 = 11111111111111111111111111110110 (base 2) = -10 (base 10)
答案 1 :(得分:0)
!
是logical operator,其结果是true
或false
,而~
是bitwise运算符。
如果您不理解“~number
-number - 1
为什么要查看two's complement。
我没有理论,我不知道还能说些什么。
在这种情况下,请查看language's documentation。
答案 2 :(得分:0)
!是一个布尔运算符,它否定了布尔表达式的结果。
〜另一方面是按位非运算符,它基本上意味着,它会翻转操作数中的所有位,比如-1,它由所有1位表示为0(表示设置为0位)。 / p>