专题四 位运算

2.3.1 按位与”&“,按位或”|“,按位异或”^“

2.3.2二进制左移算符"<<”右移算符">>"

1.左移运算符(<<)
二进制左移运算把数据向左移动着干位时,移出左边界的所有位都将丢失,右侧新增加的位为0.例如int a=4,a<<2 的结果为16.
因为变量a在内存中的二进制表示为00000100,向左移动两位并在右端补0后的二进制值为00010000应结果为16。
向左移动一位等同于乘以2,向左移动两位等同于乘以4,因此,可以得到一个规律:在变量可以表示的围内,向左移动n位等同于乘上2的n次方。
2.右移运算符(>>)
二进制右移若干位时,移出右边界的所有位都即将丢失,左侧的新位的补充将遵循下面的原则:
(1)对于无符号数,右移时左侧的新位一律补0, 称为“逻辑右移”。
(2)对于有符号数,若符号位是0.则左侧新位律补0: 若符号位是1,则左侧律补1,称为“算术
例如 变量a是无符号数, a=8,其二进制表 示为00001000,右移两位且左侧新位补0结果为00000010所以a>>2的结果为2.
变量b是有符号数,b=-10.其二进制表示为11110110因为符号位为1,所以零品b右移一位且在左侧新补1后的结果为11111011所以b>>1的结果为-5。

2.3.3按位取反运算符“~"

用于求整数的二进制反码,即分别将操作数各二进制位上的1变为,0变为1。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值