新知识 | 位运算符(NOT)

简介: “NOT运算符,反转所有位,整数取反,负数取整”

NOT运算符,反转所有位,整数取反,负数取整

01

~

~x 为 对任一数值 x 进行按位非操作的结果为 -(x + 1)

例如:

~5 = -(5+1) = -6

~(-5) = -(-5+1) = 4

~(1.2) = - (1.2+1) = -2

以前使用:

const a = [1, 2, 3, 4, 5]
if (a.indexOf(1) > -1) {
    console.log('存在'); 
}
//5.206ms

使用~的话:

const a = [1, 2, 3, 4, 5]
if (~a.indexOf(1)) {
    console.log('存在');
}
//1.186ms

可以达到同样的效果,并且代码看起来简洁不少,同时后面的运算速度快于前面的。

02

~~

~~x 为 对任一数值 x 进行按位非操作的结果为 -(-(x+1) + 1)

例如:

(-2.99) = -(-(-2.99+1)+1)= -2

以前:console.log(parseInt(-2.99)); //0.417ms

现在:console.log((-2.99)); //0.327ms

使用NOT运算符的速度高于其他

相关文章
|
7月前
|
C语言
c语言编程练习题:7-10 算术入门之加减乘除
对于输入的两个整数,按照要求输出其和差积商。
124 0
|
7月前
|
C#
C位运算符精讲:提升编程效率的秘诀
C位运算符精讲:提升编程效率的秘诀
45 0
|
7月前
|
编译器 C语言 C++
C/C++运算符超详细讲解(系统性学习day5)
C/C++运算符超详细讲解(系统性学习day5)
|
7月前
|
存储 算法 搜索推荐
C语言第二十七练 异或的运算规律
C语言第二十七练 异或的运算规律
64 0
|
运维 算法 Linux
Python编程 位运算符
本章将会讲解如何使用Python运算符中的位运算符。
142 1
Python编程 位运算符
C#编程-25:数学运算符复习
C#编程-25:数学运算符复习
115 0
C#编程-25:数学运算符复习
|
设计模式 机器学习/深度学习 算法
数学,离一个程序员有多近?
for循环没算法快 1. for 循环实现 2. 算法逻辑实现 3. 耗时曲线对比 四、Java中的算法运用 1. HashMap的扰动函数 2. 斐波那契(Fibonacci)散列法 3. 梅森旋转算法(Mersenne twister) 五、程序员数学入门
265 0
数学,离一个程序员有多近?
|
程序员
程序员数学(3)--一元一次方程
本文目录 1. 为什么要用方程 2. 一元一次方程 3. 等式的性质 4. 解一元一次方程 4.1 合并同类项 4.2 移项 4.3 去括号 4.4 去分母 5. 总结
190 0
程序员数学(3)--一元一次方程
|
程序员
程序员数学(27)–相似
本文目录 1. 相似多边形 2. 相似三角形 3. 相似三角形判定 4. 相似三角形性质
133 0
程序员数学(27)–相似