java中的“”、“|”、“^”、“~”运算符怎么用?
生活随笔
收集整理的這篇文章主要介紹了
java中的“”、“|”、“^”、“~”运算符怎么用?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 問題:
- 位運算符的用法
- &運算符
- |運算符
- ^運算符
- ~運算符
問題:
java源碼中的位運算是如何使用的?
位運算符的用法
java中的“&”、“|”、“^”、“~”邏輯運算符的使用,此處使用了int類型,4個字節(jié)32位
&運算符
&是AND運算符,是一種位運算符。有0為0,全1為1。
運算規(guī)則如下:
- 1&1=1;
- 1&0=0;
- 0&1=0;
- 0&0=0;
運算結果:
十進制數(shù)[7]二進制補碼表示為:111 十進制數(shù)[2]二進制補碼表示為:10 a&b=2 十進制數(shù)[2]二進制補碼表示為:10|運算符
|是OR運算符,是一種位符。有1為1,全0為0
運算規(guī)則如下:
- 1|1=1;
- 1|0=1;
- 0|1=1;
- 0|0=0;
運算結果:
十進制數(shù)[7]二進制補碼表示為:111 十進制數(shù)[2]二進制補碼表示為:10 a|b=7 十進制數(shù)[7]二進制補碼表示為:111^運算符
^是異或運算符,是一種位符。相同為0,不同為1
運算規(guī)則如下:
- 1^1=0;
- 1^0=1;
- 0^1=1;
- 0^0=0;
運算結果:
十進制數(shù)[7]二進制補碼表示為:111 十進制數(shù)[2]二進制補碼表示為:10 a^b=5 十進制數(shù)[5]二進制補碼表示為:101~運算符
~是非運算符,是一種位符。0取反為1,1取反為0
運算規(guī)則如下:
- ~1=0;
- ~0=1;
運算結果:
十進制數(shù)[7]二進制補碼表示為:111 ~a取反為:-8 十進制數(shù)[-8]二進制補碼表示為:11111111111111111111111111111000其中打印二進制的方法print2Binary如下:
/*** 打印十進制數(shù)二進制** @param a*/private void print2Binary(int a) {StringBuilder sb = new StringBuilder();sb.append("十進制數(shù)[");sb.append(a);sb.append("]二進制補碼表示為:");sb.append(Integer.toBinaryString(a));System.out.println(sb.toString());}其他位運算:<< 、>>在《java位于算——一個測試搞懂位運算》中有做說明
總結
以上是生活随笔為你收集整理的java中的“”、“|”、“^”、“~”运算符怎么用?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaWeb中如何通过Request对
- 下一篇: 计算机基础——原码、反码、补码转换