首頁  >  文章  >  Java  >  Java 位元運算(移位、位元與、或、異或、非)

Java 位元運算(移位、位元與、或、異或、非)

高洛峰
高洛峰原創
2016-12-16 17:02:041252瀏覽

public class Test {
public static void main(String[] args) {
// 1、左移( // 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 //
// 0000 0000 0000 0000 0000 0000 0001 0100 換算成10進位為20
System.out.println(5 System.out.println(5 System。 ) 高位補符號位
// 0000 0000 0000 0000 0000 0000 0000 0101 然後右移2位,高位補0:
// 0000 0000 0000 0000ln 2); // 運行結果是1

// 3、無符號右移( >>> ) 高位補0
// 例如-5換算成二進位後為:0101 取反加1為1011
// 1111 1111 1111 1111 1111 1111 1111 1011
// 我們分別對5進行右移3位、 -5進行右移3位和無符號右移3位:
System.out.println(5 >> 3);// 結果是0
System.out.println(-5 >> 3);// 結果是-1
System.out.println(-5 >>> 3);// 結果是536870911

// 4、位與( & )
// 位與:第一個操作數的的第n位於第二個操作數的第n位如果都是1,那麼結果的第n為也為1,否則為0
System.out.println (5 & 3);// 結果為1
System.out.println(4 & 1);// 結果為0

// 5、位元或( | )
// 第一個運算元的的第n位於第二個操作數的第n位只要有一個是1,那麼結果的第n為也為1,否則為0
System.out.println(5 | 3);// 結果為7

/ / 6、位異或( ^ )
// 第一個操作數的的第n位於第二個操作數的第n位相反,那麼結果的第n為也為1,否則為0
System.out .println(5 ^ 3);//結果為6

// 7、位非( ~ )
// 操作數的第n位為1,那麼結果的第n位為0,反之。
System.out.println(~5);// 結果為-6
}
}



與Java 位元運算、異或移位、位與或相關、非移位相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn