二进制位运算符

一:左右移运算符,无符号运算符      >>   <<    >>>

int a = 0b0111_1111_1111_1111_1111_1111_1111_1111;             -1

int b = 0b1111_1111_1111_1111_1111_1111_1111_1110;             -2

 

int a = 0b0000_0000_0000_0000_0000_0000_0000_0001;        1

 

-1位数取反+1=1

1位数取反+1=-1

6 的二进制直接取反为 -7 

0的二进制直接取反为 -1

 

-1 >> 2    前面会一直补1  结果还是-1

 

-1 <<2    后面会一直补0   结果是 -4

 

0 >> 2 结果还是 0

 

0 << 2 结果还是 0

 

-1 >>> 2 前面会补 0 结果是 正数

 

往左移1位就是 * 2 ,两位就是*2的2次方

 

二:按位与,按位或,按位异或,按位取反运算符  &  |  ^  ~

按位与 & :

1 1 得 1 

0 0 得 0

1 0 得 0

0 1 得 0

按位或 | :

0 0 得 0

1 0 得 1

1 1 得 1

0 1 得 1

按位异或 ^:

相同的为 0 其余条件为 1 

0 0 得 0

1 1 得 0 

0 1 得 1

1 0 得 1

按位取反 ~:

0 得 1 

1 得 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值