溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java如何實(shí)現(xiàn)位運(yùn)算

發(fā)布時(shí)間:2021-12-30 15:28:16 來源:億速云 閱讀:109 作者:小新 欄目:編程語言

這篇文章主要介紹了Java如何實(shí)現(xiàn)位運(yùn)算,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

public class Operation5 {	
	public static void main(String[] args) {		//位運(yùn)算
		/*
			包括:
				與 &, 或 |, 取反 ~, 異或 ^
				帶符號(hào)左移<<, 帶符號(hào)右移 >>, 無符號(hào)右移 >>>
				1. & 就是二進(jìn)制位如果都是1則為1,否則為0
				2. | 就是二進(jìn)制位如果都是0則為0,否則為1
				3. ~ 就是二進(jìn)制位如果是0取反變成1,否則如果是1取反變成0;
				4. ^ 就是運(yùn)算兩邊二進(jìn)制位兩邊同時(shí)相等時(shí)為0,否則為1
				5. <<就是將二進(jìn)制位逐位向左移動(dòng)n位,后面補(bǔ)n個(gè)0,相當(dāng)于乘2;
				6. >>就是將二進(jìn)制位逐位向右移動(dòng)n位,前面補(bǔ)n個(gè)符號(hào)位,向當(dāng)于除2;
				6. >>>就是將二進(jìn)制位逐位向右移動(dòng)n位,前面補(bǔ)n個(gè)0
		*/
		byte a = 1; //二進(jìn)制 00000001
		byte b = 8; //二進(jìn)制 00001000
		byte c = 127; //二進(jìn)制 01111111
		byte d = -127;//二進(jìn)制 10000001
		System.out.println(a & b); //結(jié)果 00000000
		System.out.println(a | b); //結(jié)果 00001001  2^3+2^0=9
		System.out.println(~a); //結(jié)果 11111110補(bǔ)碼 轉(zhuǎn)換為原碼=10000001=-1-1=-2 
		System.out.println(a ^ b); //結(jié)果 00001001 =9;
		System.out.println(a << 1); //結(jié)果 00000010 2^1=2
		System.out.println(c << 1); //結(jié)果 11111110 =254
		System.out.println(a >> 1); //結(jié)果 00000000 =0
		System.out.println(c >> 1); //結(jié)果 00111111 =63
		System.out.println(d >> 1); //結(jié)果 11000000補(bǔ)碼 原碼=10111111=-63-1=-64
		System.out.println(d >>> 1);//結(jié)果 01000000原碼
		/*
			注意:
			 1.計(jì)算機(jī)存儲(chǔ)時(shí) 二進(jìn)制第一位是表示符號(hào)位 1 代表負(fù)數(shù), 0代表正數(shù)
			 2.計(jì)算機(jī)存儲(chǔ)時(shí)以補(bǔ)碼的方式存儲(chǔ)的, 正數(shù)的補(bǔ)碼跟原碼一樣,負(fù)數(shù)的補(bǔ)碼是去掉第一位符號(hào)位取反然計(jì)算結(jié)果后  再 + 1 得到的.
			 3. 那補(bǔ)碼轉(zhuǎn)換成原碼就反過來 去掉第一位取反計(jì)算結(jié)果后  再-1.
			 4. System.out.println 沒有 System.out.println(byte b)方法,計(jì)算機(jī)先自動(dòng)將byte轉(zhuǎn)化成 int 然后在移動(dòng)
		*/
	}
}

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Java如何實(shí)現(xiàn)位運(yùn)算”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI