1

我没有理论,我不知道还能说什么。

到目前为止,我一直认为两者都将值更改为 false。

但是,!,更改为真/假。

而 ~ 则变为负数,减去 1,因此 2 变为 -3。为什么以及如何。

4

3 回答 3

1

~(按位非)

对每个位执行 NOT 运算符。NOT a 产生 a 的倒数(也称为反码)。NOT 运算的真值表是:

a   NOT a
0   1
1   0

例子

9 = 00000000000000000000000000001001 (base 2)
               --------------------------------
~9 = 11111111111111111111111111110110 (base 2) = -10 (base 10)

答案来自JavaScript 中的波浪号~运算符。

于 2013-07-04T18:08:33.260 回答
0

!是一个布尔运算符,它否定布尔表达式的结果。

~ 另一方面是按位非运算符,这基本上意味着,它将操作数中的所有位翻转,例如 -1,它由所有 1 位表示为 0(这意味着设置了 0 位)。

于 2013-07-04T18:09:51.873 回答
0

!逻辑运算符,其结果是trueor false~而是位运算符。

如果你不明白为什么~number-number - 1看看二的补码

我没有理论,我不知道还能说什么。

在这种情况下,请查看语言的文档

于 2013-07-04T18:08:59.713 回答