二进制 位运算

如果指定 A = 60; 及 B = 13; 两个变量对应的二进制为:

A = 0 0 1 1 1 1 0 0

B = 0 0 0 0 1 1 0 1



1、&   按位与    对比两数  只有同时为1的情况下返回1  其他返回0

结果为 00001100    12


2、|  按位或  对比两数 只有同时为0的情况下返回0  其他返回1 

结果为 00111101  61


3、按位异或  对比两数  不同时返回1  相同返回0

结果为 00110001  49


4、~按位取反运算符   对一个操作数的每一位都取反 

int为4个字节   0000 0000 0000 0000 0000 0000 0011 1100

             取反 1111 1111 1111 1111 1111 1111 1100 0011 

想要求其值 则 符号位不变 再次取反 加1 

(~A ) 结果为 -61, 二进制为 1100 0011  


5、<<按位左移  左移操作符(<<)将操作数的所有位向左移动指定的位数。如果左移一位 则第二位为第一位  拿0补全其他位

A<<2  结果为240 ,二进制位11110000


5、>>按位右移移  右移操作符(>>)将操作数的所有位向右移动指定的位数。如果右移一位 则第二位为第三位 拿0补全其他位

A>>2  结果为15 ,二进制位00001111


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值