Get to know MDN better
此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
按位非运算符(~)将操作数的位反转。如同其他位运算符一样,它将操作数转化为 32 位的有符号整型。
操作数被转换为 32 位有符号整型,并以一系列比特(0 和 1)表示。超过 32 位的数字将丢弃其最高有效位。如下例子中,超过 32 位的整数将转换为 32 位整数:
Before: 11100110111110100000000000000110000000000001 After: 10100000000000000110000000000001运算结果的每一位数都由操作数相应位反转而来。
NOT 运算的真值表如下所示:
| 0 | 1 |
| 1 | 0 |
32 位有符号整数操作数根据补码运算规则进行反转,也就是说,最高有效位表示负数。
按位非运算时,任何数字 x 的运算结果都是 -(x + 1)。例如,~-5 运算结果为 4。
请注意,由于数字 ~-1 和 ~4294967295(232 - 1)均使用 32 位表示形式,它们的运算结果均为 0。
| ECMAScript® 2027 Language Specification # sec-bitwise-not-operator |
启用 JavaScript 以查看此浏览器兼容性表。