Ⅰ java當中的 >>> 這個運算符有什麼用啊
這個運算符是位運算符,,在實際開發中很少用,,你記得就行,,,也就是把十進制的數字換成2進制的再移位補0等,,,,幾乎沒有用!
Ⅱ Java中位運算符的具體應用是什麼,在實際編程中有什麼作用
位邏輯運算符有「與」(AND)、「或」(OR)、「異或(XOR)」、「非(NOT)」,分別用「&」、「|」、「^」、「~」表示。
下面的例子說明了位邏輯運算符:
// Demonstrate the bitwise logical operators.
class BitLogic {
public static void main(String args[]) {
String binary[] = {
"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
"1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"
};
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[d]);
System.out.println(" a^b = " + binary[e]);
System.out.println("~a&b|a&~b = " + binary[f]);
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里,位運算符(&)什麼情況下用啊
按位與 是二進制基礎上的運算
首先樓主要知道 二進制下 0&1=0 1&1=1 0&0=0
下面就簡單了 舉例 7&13
首先把兩個數轉換成2進制數 (本來int應該是32位的,但是我就不寫那麼多了!就寫4位 意思意思吧)
分別為 0111
1101
之後 按位進行與運算 那麼結果為 0101 轉換成十進制數 則為5
樓主可以拿復雜點的數來驗證!
一般的程序很少用到按位與(&)
當做邏輯與(&)的情況還是有些的
用的最多的是短路與(&&)
Ⅳ java位運算符<<和>>還有>>>怎麼用
左移<<
右移>> 和>>>
二進制的數,其中,對於>>>無論整數還是負數,最高位都補0
就這個區別而已,
還有一個結論是移動了n就相當於左移(乘)、右移(除)2的n次冪
比如:
16>>3等效於16除2的3次方,
Ⅳ java位移運算符有什麼意義
給你舉個例子,乘除法可以使用位運算,速度更快。很多底層的東西是用位運算去內實現的,你去看容看java的很多源碼,還有IO流的處理有時候會用位運算,二進制文件的讀寫解析等都需要位運算,如果你了解底層的東西,你會位運算,這回讓你的程序生涯更加精彩,望採納,謝謝
Ⅵ 【JAVA】請問位運算符在實際中具體到底有哪些實際用處
位操作是程序設計中對位模式按位或二進制數的一元和二元操作。 在許多古老的微處理器上, 位運算比加減運算略快, 通常位運算比乘除法運算要快很多。 在現代架構中, 情況並非如此:位運算的運算速度通常與加法運算相同(仍然快於乘法運算).
位運算符用來對二進制位進行操作,Java中提供了如下表所示的位運算符:位運算符中,除 ~ 以外,其餘均為二元運算符。
操作數只能為整型和字元型數據。
3.4.1補碼
Java使用補碼來表示二進制數,在補碼表示中,最高位為符號位,正數的符號位為0,負數為1。補碼的規定如下:
對正數來說,最高位為0,其餘各位代表數值本身(以二進製表示),如+42的補碼為00101010。
對負數而言,把該數絕對值的補碼按位取反,然後對整個數加1,即得該數的補碼。如-42的補碼為11010110(00101010按位取反11010101+1=11010110)
用補碼來表示數,0的補碼是唯一的,都為00000000。(而在原碼,反碼表示中,+0和-0的表示是不唯一的,可參見相應的書籍)。而且可以用111111表示-1的補碼(這也是補碼與原碼和反碼的區別)。
3.4.2按位取反運算符~
~ 是一元運演算法,對數據的每個二進制位取反,即把1變為0,把0變為1。
例如:
0010101
~
1101010
注意,~運算符與-運算符不同,~21≠-21。
3.4.3按位與運算符&
參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0。即:
0&0=0,0&1=0,1&0=0,1&1=1
Ⅶ 什麼是Java的位運算符
位運算符用來對二進制位進行操作,位
運
算
符
(>>,<<,>>>,&,|,^,~
)
,位運
算
符
中
,除
~
以
外
,其餘
均
為
二
元
運
算
符
。
操
作
數
只
能
為
整
型
和字
符
型
數
據
。
比如『>>』
這個就相當於乘以2.
Ⅷ java 中^位運算符干什麼用的或者怎麼使用,分是沒了希望熱心的友友幫助下
是異或操作符,通常用於位運算,比如
1^2=3(即二進制的 01^10)
1^3=2(即二進制的 01^11)
Ⅸ java中的位運算有什麼用
一般都是用來加密解密用的
或者說是加強系統安全性
每種語言都有位運算 都提供很多數理邏輯的實現
當然c語言中的位運算功能更多 內存的操作很多時候都用到位運算
Ⅹ java中&位運算符的原理是什麼,是怎麼運算的,有什麼作用
java移位運算符不外乎就這三種:<<(左移)、>>(帶符號右移)和>>>(無符號右移)。
1、
左移運算符
左移運算符<<使指定值的所有位都左移規定的次數。
1)它的通用格式如下所示:
value
<<
num
num
指定要移位值value
移動的位數。
左移的規則只記住一點:丟棄最高位,0補最低位
如果移動的位數超過了該類型
........