java运算符

>>号运算  如:>>1 相当于除以2的一次方

<<号运算 与>>1 相当于乘以2的一次方

>>>号运算 比如53二进制为110101>>>3得到110类似删除后面三位一样

int i  = 64;
System.out.println(i);
System.out.println(Integer.toBinaryString(i));
i = i>>3;
System.out.println(i);
System.out.println(Integer.toBinaryString(i));
i = i<<2;
System.out.println(i);
System.out.println(Integer.toBinaryString(i));
i = 53;
System.out.println(Integer.toBinaryString(i));
i = i>>>3;
System.out.println(i);
System.out.println(Integer.toBinaryString(i));

结果
64
1000000
8
1000
32
100000
110101
6
110

&运算规则:两个数都转为二进制,然后从高位开始比较,如果两个数都为1则为1,否则为0。

|运算规则:两个数都转为二进制,然后从高位开始比较,两个数只要有一个为1则为1,否则就为0。

^运算规则:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1。

^运算规则:如果位为0,结果是1,如果位为1,结果是0.

int i  = 0b111;
int k = 0b1;
System.out.println(Integer.toBinaryString(i&k));
System.out.println(Integer.toBinaryString(i|k));
System.out.println(Integer.toBinaryString(i^k));
k = ~k;
System.out.println(k);
System.out.println(Integer.toBinaryString(k));
结果
1
111
110
-2
11111111111111111111111111111110

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值