按位运算符的运算规则是?

https://blog.csdn.net/mxiaoyem/article/details/78569782按位运算符详细讲解

按位运算符

1.与(&) 按位“与”操作符,如果二个数的二进制,相同位数都是1,则该位结果是1,否则是0。
案例:Int 类型4个字节,4*8=32位有效字节位。
5 => 0000 0000 0000 0000 0000 0000 0000 0101
2 => 0000 0000 0000 0000 0000 0000 0000 0010
&运算结果 0000 0000 0000 0000 0000 0000 0000 0000

2.或(|) 按位“或”操作符,如果二个数的二进制,相同位数有一个是1,则该位结果是1,否则是0。
案例:
5 => 0000 0000 0000 0000 0000 0000 0000 0101
2 => 0000 0000 0000 0000 0000 0000 0000 0010
|运算结果 0000 0000 0000 0000 0000 0000 0000 0111

3.异(^) 按位“异”操作符,如果二个数的二进制,相同位数只有一个是1,则该位结果是1,否则是0。
案例:
5 => 0000 0000 0000 0000 0000 0000 0000 0101
2 => 0000 0000 0000 0000 0000 0000 0000 0010
&运算结果 0000 0000 0000 0000 0000 0000 0000 0111

4.非(~) 按位“非”操作符,属于一元操作符,只对一个操作数进行操作。按位“非”生成与输入位相反的值,若输入0,则输出1。可以采取取负减一法,即~i=(-i)-1;
案例:
5 => 0000 0000 0000 0000 0000 0000 0000 0101
~运算结果 1111 1111 1111 1111 1111 1111 1111 1010

2 => 0000 0000 0000 0000 0000 0000 0000 0010
~运算结果 1111 1111 1111 1111 1111 1111 1111 1101

补充知识点:
1.电脑的世界中只有0和1,所以二进制的正负是从高位看,最高位如果是1,则是负数;如果是0,则是正数。
2.负数的二进制转化,计算机计算是用补码!
3.负数的反码是对除符号位(最高位)对原码取反,补码是对反码+1。

案例:
5 => 0000 0000 0000 0000 0000 0000 0000 0101
-5 => 1000 0000 0000 0000 0000 0000 0000 0101

反码 1111 1111 1111 1111 1111 1111 1111 1010
补码 1111 1111 1111 1111 1111 1111 1111 1011

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值