java 中 的 =,java 中的 |=、=、^=
關于 |= 運算符:|= 運算符和 += 這一類的運算符一樣,拆解開就是 a = a | b
int a = 5; // 0000 0101
int b = 3; // 0000 0011
a |= b; // 0000 00111
具體規則為:兩個二進制對應位為0時該位為0,否則為1。拿5的二進制 0000 0101 和 3的二進制 0000 0011 進行|運算,后三位的的對應位都不是同時等于0,所以最終結果為 0000 0111 也就是7的二進制。
————————————————————————————————————————————————————————————————————————————————————————————————————————————
其他兩個(&=,^=)運算規則跟|=是一樣的,
&=:兩個二進制的對應位都為1時,結果為1,否則結果等于0;
int a = 5; // 0000 0101
int b = 3; // 0000 0011
a &= b; // 0000 0001
兩個二進制對應位都為1時,結果為1,否則結果為都0。拿5的二進制 0000 0101 和 3的二進制 0000 0011 進行&運算,只有最后一位都為1,則最終結果為 0000 0001 也就是1的二進制。
———————————————————————————————————————————————————————————————————————————————————————————————————
^=:兩個二進制的對應位相同,結果為0,否則結果為1。
int a = 5; // 0000 0101
int b = 3; // 0000 0011
a ^= b; // 0000 0110
兩個二進制對應位相同時,結果為0,否則結果為1。拿5的二進制 0000 0101 和 3的二進制 0000 0011 進行^運算,1-5位對應位都是0所以1-5位都為0,第8位都為1所以第8位也為0,其他的對應位都不相等所以為1,則最終結果為 0000 0110 也就是6的二進制。
原文:https://www.cnblogs.com/baxianhua/p/12165626.html
總結
以上是生活随笔為你收集整理的java 中 的 =,java 中的 |=、=、^=的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring bean 不被 GC 的真
- 下一篇: 软件测试中的 QM、QA、QC、测试规程