按位运算符作用

1、按位AND运算符(&)

  由于任何一位是0,&运算的结果就是0,因此可以使用这个运算符把变量中不必要的位设置成0,。其方法是创建一个‘掩码’,然后使用&将它与原始变量组合起来。如:letter=letter & 0x0F;

2、按位OR运算符(|)

  两个位中有一个位是1,OR运算的结果是1,因此这两个变量相‘或’的结果就是这两个位都被打开,如:style |= hredraw | vredraw;

3、按位EOR运算符(^)

  letter1  0100  0001

  letter2  0101  1010

  对它们进行EOR运算后得到:

  result   0001  1011

  异或运算符有一特性,俩变量在不占用任何中间存储单元的情况下交换了值。这适用于所有整数值。如:

  first ^= last;  //Result first is 0001 1011

  last ^= first;  //Result last is  0100 0001

  first ^= last;  //Result first is 0101 1010

4、按位NOT运算符(~)

  对该数的位求反,1变0,0变1.

5、移位运算符(<<)(>>)

  向左移动N位相当于这个值和2相乘N次,相当于乘于2n次方。向右移动相当于除。

时间: 2024-08-02 11:56:03

按位运算符作用的相关文章

(原创)c#学习笔记04--流程控制01--布尔逻辑02--按位运算符

4.1.2  按位运算符 &和 | 运算符还有一个作用:对数值执行操作.以这种方式使用时,它们处理的是变量中存储的一系列位,而不是变量值,因此它们称为按位运算符. 下面先讨论&和 |.&运算符第一个操作数中的每个位都与第二个操作数中相同位置上的位进行比较,在得到的结果中,各个位置上的位如表4-5所示. | 运算符与此类似,但得到的结果位是不同的.如表4-6所示. ^运算符的用法与此相同.如果操作数中相同位置上的位有且仅有一个是1,其结果位就是1,如表4-7所示. C#中还可以使用一

JavaScript的位运算符、赋值运算符、其他运算符、三元运算符、运算符优先级

一. 位运算符 在一般的应用中,我们基本上用不到位运算符.虽然,它比较基于底层,性能和速度会非常好,而就是因为比较底层,使用的难度也很大,底层运算是转换成二进制进行运算的. 位运算符有七种,分别是:位非 NOT(~).位与 AND(&).位或 OR(|).位异或 XOR(^).左移(<<).有符号右移(>>).无符号右移(>>>). var box = ~25; //-26 var box = 25 & 3; //1 var box = 25 |

PHP中的运算符---位运算符、递增递减运算符、三元运算符、字符串运算符、数组运算符、类型运算符、错误控制运算符

1.位运算符 位运算符用来对整型数的指定位进行置位,如果被操作数是字符串,则对该字符串的ASCII码值进行操作. 运算类型 运算符 举例 结果 按位与 & $a & $b 将$a 与 $b 中均为1的位置为1,其余置为0 按位或 | $a | $b 将$a 中为1 或$b中为1的位置为1,其余置为0 按位异或 ^ $a ^ $b 将$a 与 $b 中不同的位置为1,其余置为0 按位非 ~ ~ $a 将 $a 中为1的位置为0,为0的位置为1 左移 << $a <<

位运算符详解

运算符   含义   &   按位与   |   按位或   ∧   按位异或   ∽   取反   <<   左移   >>   右移 说明: 1.位运算符中除∽以外,均为二目(元)运算符,即要求两侧各有一个运算了量. 2.运算量只能是整形或字符型的数据,不能为实型数据. “按位与”运算符(&) 规定如下: 0&0=0   0&1=0   1&0=0   1&1=1 例:3&5=?                      

JAVA 按位运算符的解释

按位运算符 Java定义了几个按位运算符,可以将其应用于整数类型long,int,short,char和byte. 按位运算符对位执行,并执行逐位运算.假设a = 60和b = 13; 现在以二进制格式,他们将如下 - a = 0011 1100 b = 0000 1101 ----------------- a&b = 0000 1100 a | b = 0011 1101 a ^ b = 0011 0001 a = 1100 0011 假设整数变量A保持60,变量B保持13,则 - publ

Java移位运算符 “&lt;&lt;” 作用及详解

左移运算符(<<) 基本用法 将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0). 例:a = a << 2 将a的二进制位左移2位,右补0, 左移1位后a = a *2; 若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2. 举例以及困惑 给出下面的程序,大家可以猜一猜结果是什么? public class MainClass { public static void main(String[] args) { long i = 1L <<

PHP位运算符详解

位运算符 位运算符是指对二进制位从低位到高位对齐后进行运算. 符号 作用 举例 个人理解 & 按位与 $m & $n 全1为1,否则为0 | 按位或 $m | $n 全0为0,有1为1 ^ 按位异或 $m | $n 不同为1,相同为0 ~ 按位取反 ~$m << 向左移位 $m << $n >> 向右移位 $m >> $n &运算符 <?php $m = 1; $n = 2; $mn = $m & $n; echo $m

c语言位运算符

C语言既具有高级语言的特点,又具有低级语言的功能. 所谓位运算是指进行二进制位的运算. C语言提供的位运算: 运算符   含义  &   按位与  |   按位或  ∧   按位异或  ∽   取反  <<   左移  >>   右移 说明: 1.位运算符中除∽以外,均为二目(元)运算符,即要求两侧各有一个运算了量. 2.运算量只能是整形或字符型的数据,不能为实型数据. “按位与”运算符(&) 规定如下: 0&0=0   0&1=0   1&

第二部分 位运算符、赋值运算符、三元及一元运算符和语句分类

位运算符(内存中的位数进行操作,二进制比特位比一般语法乘2要快一些):优化我们的算法,提高我们的效率. 位于:& 位或:| 异或:^ 相异得1,相同得0 位非:~ 取反 左移:<< 右移:>> 赋值运算符: =.+=.-=.*=./=.%=.<<=.>>=.&=.|=.!= 三元及一元运算符: 一元运算符:+.- 作用于单个操作符 三元运算符:? : 语句分类: 1.声明语句:声明变量 2.嵌入语句:花括号 3.标签语句:跳转语句