位运算(与运算、或运算、异或运算、左移运算、右移运算、取反运算)

一.与运算

与运算是计算机中一种基本的逻辑运算方式,符号表示为&。这是一个双目运算符( 就是&前后有两部分需要运算,类似加号谁+谁,不能只写+谁),参加运算的两个数据,按二进制位进行按位“与”运算。运算规则: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
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值