美文网首页
js中取非运算符与取反运算符

js中取非运算符与取反运算符

作者: 平winK | 来源:发表于2021-09-30 10:51 被阅读0次
取非

关于取非运算符: 

js中0为fasle,所以!0 就为true;

若判断字符串类型,!str为先判断类型 再对boolean做比较

按位取反

按位取反运算符会把原来为0的值,变为1,原来为1的值变为0。

原因是按位取反将值转换为二进制再进行取反运算,

例如: 十进制1转换为二进制是0000 0001,十进制2转换为二进制是0000 0010

将0000 0001按位取反:1111 1110

将0000 0010按位取反:1111 1101

取反后第一位是1,为负数。负数转换为原码,第一位符号位不变,其余取反+1,

得到1000 0010,1000 0011

再将源码转换成二进制,就得出为-2,-3。

看起来有些麻烦 ~~~~~~~~~~~~~~

但是取反运算符在比较 值为-1的情况很好用 简化代码,比如:

逻辑取反

可以用于判断值为 -1 就push的场景。

相关文章

  • js中取非运算符与取反运算符

    关于取非运算符: js中0为fasle,所以!0 就为true; 若判断字符串类型,!str为先判断类型 再对bo...

  • 强大的位运算符

    位取反运算符 位取反运算符(~)是对所有位的数字进行取反操作位取反运算符.png 位与运算符 位与运算符(&)可以...

  • 位运算符

    位取反运算符 取反翻运算符 ~ 是对所有位的数字进行取反操作0 变 11 变 0 位与运算符 位与运算符 & 可以...

  • swift-位运算符

    1. 位取反运算符( ~ ) 位取反运算符(~ )是对所有位的数字进行取反操作 2. 位与运算符( &) 位与运算...

  • 位运算符

    位取反运算符 位取反运算符(~)是对所有位的数字进行取反操作 位与运算符 位与运算符(&)可以对两个数的比特位进行...

  • 逻辑运算符

    逻辑运算符 与(和/或) && 或 || 非:取反 ! (true能变为false /false能变为true)...

  • 强大JavaScript运算符(一)

    1. ?? 非空运算符 在 JS 中,?? 运算符被称为非空运算符。如果第一个参数不是 null/undefine...

  • Swift - 位运算符

    位运算符 取反运算 位取反运算符(~) 是对所有位的数组进行取反 0000 1111 取反操作后变成 1111 0...

  • JS----运算符

    JS中为我们提供了三种逻辑运算符: ! 非:!可以用来对一个值进行非运算 所谓非运算就是值对一个布尔值进行取反...

  • C、数据结构知识点

    1. 位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反运算符是单目运算...

网友评论

      本文标题:js中取非运算符与取反运算符

      本文链接:https://www.haomeiwen.com/subject/mnfenltx.html