java中的位運算子及其用法,Java中位運算子的具體應用是什麼,在實際程式設計中有什麼作用

2021-03-21 23:31:19 字數 1165 閱讀 8186

1樓:育知同創教育

位邏輯運算子有「與」(and)、「或」(or)、「異或(xor)」、「非(not)」,分別用「&」、「|」、「^」、「~」表示。

下面的例子說明了位邏輯運算子:

// demonstrate the bitwise logical operators.

class bitlogic ;

int a = 3; // 0 + 2 + 1 or 0011 in binary

int b = 6; // 4 + 2 + 0 or 0110 in binary

int c = a | b;

int d = a & b;

int e = a ^ b;

int f = (~a & b) | (a & ~b);

int g = ~a & 0x0f;

system.out.println(" a = " + binary[a]);

system.out.println(" b = " + binary[b]);

system.out.println(" a|b = " + binary[c]);

system.out.println(" a^b = " + binary[e]);

system.out.println(" ~a = " + binary[g]);}}

在本例中,變數a與b對應位的組合代表了二進位制數所有的 4 種組合模式:0-0,0-1,1-0,和1-1。「|」運算子和「&」運算子分別對變數a與b各個對應位的運算得到了變數c和變數d的值。

對變數e和f的賦值說明了「^」運算子的功能。字串陣列binary代表了0到15對應的二進位制的值。在本例中,陣列各元素的排列順序顯示了變數對應值的二進位制**。

陣列之所以這樣構造是因為變數的值n對應的二進位制**可以被正確的儲存在陣列對應元素binary[n]中。例如變數a的值為3,則它的二進位制**對應地儲存在陣列元素binary[3]中。~a的值與數字0x0f (對應二進位制為0000 1111)進行按位與運算的目的是減小~a的值,保證變數g的結果小於16。

因此該程式的執行結果可以用陣列binary對應的元素來表示。

關於移位運算子的問題,Java移位運算子問題

右側的引數需要進行 模32的運算 這就是求 除以 32,所得到的餘數。那麼,35,除以 32,餘數,就是 3。因此,35,就和 3,等效。都是左移 3 位。都是,乘以 8。1 35,左側的 1,應該是指整型數,是 32 位的數字。一個數字,僅僅才 32 位,對其移位 35 位?超出了總位數,怎麼移?...

java中這些運算子是什麼意思,java運算子是什麼意思

運算子指明對運算元的運算方式。組成表示式的java操作符有很多種。運算子按照其要求的運算元數目來分,可以有單目運算子 雙目運算子和三目運算子,它們分別對應於1個 2個 3個運算元。運算子按其功能來分,有算術運算子 賦值運算子 關係運算子 邏輯運算子 位運算子和其他運算子。1 算術單目 取正 取負 自...

問一下java的運算子是做什麼運算的

都是位運算,第一個是逐位異或 比較兩個運算元對應的二進位制數,當兩個二進位制位均為1或0時,結果取0,否則取1 第二個是逐位與 比較兩個運算元對應的二進位制數,當兩個二進位制位均為1時,結果取1,否則取0 三位為逐位或 當兩個二進位制位均為0時,取0,否則取1 位運算子。搜尋一下就有很多相關知識了。...