一.与运算
与运算是计算机中一种基本的逻辑运算方式,符号表示为&。这是一个双目运算符( 就是&前后有两部分需要运算,类似加号谁+谁,不能只写+谁),参加运算的两个数据,按二进制位进行按位“与”运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;
即两位同时为1,结果才为1,否则为0。0与任何数都为0:
&的用途:
1.用来将变量中的某些位清0; 2.判断数据奇偶性
3.判断一个数据是奇数还是偶数 末位是0表示该数是偶数 末位是1表示该数是奇数
二.或运算
【1】或运算是计算机中一种基本的逻辑运算方式,符号表示为 | 。这是一个双目运算符,参加运算的两个数据,按二进制位进行按位“或”运算。
或运算运算规则:0 | 0=0; 0 | 1=1; 1 | 0=1; 1 | 1=1;
即:两位同时为0,结果才为0,否则为1。1或任何数都为1
所以这里前面的全部跟0进行或运算,不会改变自身,是1还是0是1还是1; 而后8位跟1运算不管之前是0还是1都会变为1
【2】通常用来将变量中的某些位置为1。
三.异或运算
异或运算是计算机中一种基本的逻辑运算方式,符号表示为^。
这是一个双目运算符,参加运算的两个数据,按二进制位进行按位“异或”运算。
运算规则:0 ^ 0=0; 0 ^ 1=1; 1 ^ 0=1; 1 ^ 1=0;
跟0进行【异或运算】还是原来的数 跟1进行【异或运算】会变成相反的数(0变为1,1变为0)
即:两位不同,结果为1,否则为0。1^任何数取反
示例:
^的用途:
【1】用来将变量中的某些位翻转。(用1^)
【2】用来保留变量中某些位的值。(用0^)
四.左移运算
语法格式:x<<n ( x:需要移位的数字;n:移位的次数)
运算规则:按二进制形式把所有数字向左移动相应的位数,高位移出(舍弃),低位的空位补0。相当于乘以2的n次方。
1左移3位:
1
1000 (例子)
1<<3=8 (1*2^3=8)
总结:将某个数左移一位相当于将这个数乘2。
五.右移运算
语法格式:x>>n( x:需要移位的数字;n:移位的次数 )
运算规则:按二进制形式把所有数字向右移动相应的位数,低位移出(舍弃),高位的空位补0。相当于除以2的n次方。
整数/整数取商为最终结果
8右移2位:
1000
10 (例子)
8>>2=2
(8/2^2=2)
六.取反运算
这是一个单目运算符,将操作数中的二进制位0变成1,1变成
0110101B取反:001010B 也就是1010B
11111111B取反:变成00000000B 也就是0B