java或异运算_java中与运算,或运算,异或运算,取反运算
//與運(yùn)算 &? 規(guī)則 :都為1時才為1
System.out.println( 7 & 9);
/*
*? 7二進(jìn)制 0111
*? 9二進(jìn)制 1001
* -----------
*??????? 0001?? ==1
* */
//或運(yùn)算 | 規(guī)則:有一個為1,則為1
System.out.println(7 | 9);
/*
* 7二進(jìn)制 0111
* 9二進(jìn)制 1001
* ----------
* ??? ?1111 == 15
* */
//異或運(yùn)算? ^ 規(guī)則:不同為1
System.out.println( 7 ^ 9);
/*
* 7二進(jìn)制 0111
* 9二進(jìn)制 1001
* ----------
*????? 1110 == 14
*
* */
//取反運(yùn)算 ~ 規(guī)則:按位取反
System.out.println( ~7);//正數(shù)
/*
* 7二進(jìn)制 0000 0000 0000 0000 0000 0000 0000 0111
*????? 1111 1111 1111 1111 1111 1111 1111 1000? 取反之后變成負(fù)數(shù)了
* ?? ??? ?1000 0000 0000 0000 0000 0000 0000 0111 補(bǔ)碼
* ?? ??? ?1000 0000 0000 0000 0000 0000 0000 1000 原碼? == -8
*
* */
System.out.println(~-7);
/*
* 7二進(jìn)制 1000 0000 0000 0000 0000 0000 0000 0111
* ?? ???? 1111 1111 1111 1111 1111 1111 1111 1000? 負(fù)數(shù)先轉(zhuǎn)成補(bǔ)碼
*????? 1111 1111 1111 1111 1111 1111 1111 1001? 補(bǔ)碼
*????? 0000 0000 0000 0000 0000 0000 0000 0110 得到負(fù)數(shù)的補(bǔ)碼之后進(jìn)行取反 (這時得到的是正數(shù)) 6
* */
總結(jié)
以上是生活随笔為你收集整理的java或异运算_java中与运算,或运算,异或运算,取反运算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rhel系统启动过程_Linux系统启动
- 下一篇: 无限超越超级机器人nds_阿里重新定义个