位运算的相关内容

目录

1.按位与操作&

2.按位或操作 |

3.按位取反操作

4.按位异或操作 ^

移位运算

1.左移(

2.有符号右移(>>)

3.无符号右移(>>>)


1.按位与操作&

两个操作数,同为1则为1,否则为0

10 00001010(补码) & 12 00001100(补码) ------------------ 8 00001000

-10 11110110(补码) & 8 00001000(补码) ------------------ 0 00000000

2.按位或操作 |

两个操作数,同为0则为0,否则为1

10 00001010(补码) | 12 00001100(补码) ------------------ 14 00001110

-10 11110110(补码) | -12 11110100(补码) ------------------ 11110110(补码)---------10001010(源码)------ -10

3.按位取反操作

所有操作数取反

4.按位异或操作 ^

两个操作数,相同为0,不同为1

移位运算

1.左移(

右边空出来的位用0填补高位左移溢出则舍弃该高位

左移几位其实就是这个数 *2 的几次幂

-8 11111000(补码) ----------------------- -8<<2 11100000(补码) 11011111(反码) 10100000(源码)---------- -32

2.有符号右移(>>)

左边空出来的位用0或1填补,正数用0负数用1填补

右移几位其实就是这个数/2的几次幂----->除法

-8 11111000(补码) ----------------------- -8>>2 11111110(补码) 11111101(源码) 10000010(源码)---------- -2

3.无符号右移(>>>)

数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补

注意:整型默认是使用int,所以计算无符号右移时,是按照32位二进制数进行计算的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值