位运算符和位运算

一、位运算符分类

运算符含义运算符含义
&按位与~取反
|按位或<<左移
^按异或>>右移

 

 

 

 

 

说明:

(1)位运算中除~以外,均为二目运算符,即要求两侧各有一个运算量。

(2)运算量只能是整型或字符型数据,不能是实型数据。

二、位运算符的分类介绍

1、“按位与”运算符  &

即参与运算的两个数据,按二进制位进行“与”运算。二进制位一一对应,有0即为0,同时为1才时1。

列如,十进制3&5的值不等于8而是等于1。

如果参加&运算的是负数(如-3 & -5),则以补码形式表示为二进制数,然后在按位进行“与”运算。

按位与的运用:(1)清零(2)取一个数中某些指定位数

2、“按位或”运算符  |

两个相应的二进制位中只要有一个为1,该位结果值为1。有1即为1

列如,十进制9 | 6的值为15

3、“按位异或”运算符 ^

若参加运算的两个二进制位同号,则结果为0,异号则结果为1。即同为0异为1。

列如,十进制的57^42值为19

按位与运算的运用:

(1)使特定数字翻转

(2)与0相^,保留原值

(3)交换两个值,不用零时变量

  列如a=3,b=4,想交换a和b的值,可用以下赋值语句实现:a=a^b;b=b^a;a=a^b;

4、“取反”运算符 ~

~是单目运算符,用来对二进制数按位取反,即将0变1,1变0。

5、 左移运算符 <<

用于将一个数的各二进制位全部左移若干位。

列如:a=a<<2,即将a的二进制数左移2位,右补0。

运算法则:高位左移后溢出,舍弃,右补0。

注意:左移时被溢出的舍弃的高位中不包含1的情况下,左移一位相当于该数乘以2,左移2位相当于该数乘以2的2次方,依次类推。

6、 右移运算符 >>

a>>2表示将a的各二进制位右移2位。

运算法则:移到右端的地位被舍弃,对无符号数,高位补0。对于有符号数,高位移入0还是1就要根据系统来定,有的系统移入0,有的系统移入1。移入0的称为“逻辑右移”,即简单右移;移入1的称为“算术右移”。

注意:右移一位相当于除以2,右移n位相当于除以2的n次方。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值