按位与、按位或、按位异或、按位取反、按位左移、按位右移
位运算符比一般的算术运算符速度要快,而且可以实现一些算术运算符不能实现的功能。如果要开发高效率程序,位运算符是必不可少的。位运算符用来对二进制位进行操作,包括:按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、按位左移(<<)、按位右移(>>)。按位与(&)按位与运算 按位与运算符“&
位运算符比一般的算术运算符速度要快,而且可以实现一些算术运算符不能实现的功能。如果要开发高效率程序,位运算符是必不可少的。位运算符用来对二进制位进行操作,包括:按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、按位左移(<<)、按位右移(>>)。
按位与(&)
按位与运算 按位与运算符“&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只要对应的二个二进位都为1时,结果位就为1,否则为0;
1&1=1
1&0=0
0&1=0
0&0=0
var a = 6,b = 5;
a & b //4
6的二进制位为110,5的二进制为101
按位或(|)
按位或运算 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位(也就是最后一位)相或。只要对应的二个二进位有一个为1时,结果位就为1。
1|1=1
1|0=1
0|1=1
0|0=0
var a = 6,b = 5;
a | b //7
按位异或(^)
进行异或运算时,当前位的两个二进制表示不同则为1相同则为0。
1^1=0
1^0=1
0^1=1
0^0=0
var a = 6,b = 5;
a ^ b //3
按位取反(~)
进行按位取反时,就是把操作数的二进制每一位都取反。
var a = 1;
~a //-2
按位左移(<<)
将操作数的二进制所有位向左移动指定的位数
var a = 1;
a<<2 //4
按位右移(>>)
将操作数的二进制所有位向右移动指定的位数
var a = 10;
a>>2 //2
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)