91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解Java中左移和右移問題

發布時間:2021-11-22 09:16:14 來源:億速云 閱讀:161 作者:柒染 欄目:開發技術

如何理解Java中左移和右移問題,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

 1 原碼、反碼、補碼

原碼:將十進制轉化為二進制即原碼;

反碼:正數的反碼與原碼相同,負數的反碼(除卻最高位的符號位不變)與原碼相反;

補碼:正數的補碼與原碼相同,負數的補碼(除卻最高位的符號位不變)與原碼的取反加一。

舉例:5 和 -5

5:

原碼:0 0000000 00000000 00000000 00000101

反碼:0 0000000 00000000 00000000 00000101

補碼:0 0000000 00000000 00000000 00000101

-5:

原碼:1 00000000 00000000 00000000 00000101

反碼:1 1111111 11111111 11111111 11111010

補碼:1 1111111 11111111 11111111 11111011

2 位移操作

我們需要知道將一個數字,在計算機中進行移動多少位,例如8<<1代表將8轉化為二進制在計算機中左移1位,低位補零;

<<:左移:低位補0

>>:有符號右移:正數高位補0,負數高位補1

>>>:無符號右移,高位補零

為什么沒有無符號左移呢?因為左移的情況下只存在補零的情況。

舉例 :5 和 -5

5<<1

原碼:0 0000000 00000000 00000000 00000101

左移1位:0 0000000 00000000 00000000 00001010

即:10

-5<<1

原碼:1 00000000 00000000 00000000 00000101

補碼:1 1111111 11111111 11111111 11111011

左移1位:1 1111111 11111111 11111111 11110110

取其補碼:1 0000000 00000000 00000000 00001010

即:-10

5>>1

原碼:0 0000000 00000000 00000000 00000101

右移1位:0 0000000 00000000 00000000 00000010

即:2

-5>>1

原碼:1 00000000 00000000 00000000 00000101

補碼:1 1111111 11111111 11111111 11111011

右移1位:1 1111111 11111111 11111111 11111101

取其補碼:1 0000000 00000000 00000000 00000011

即:-3

5>>>1:與5>>1一樣,都是高位補0

原碼:0 0000000 00000000 00000000 00000101

右移1位:0 0000000 00000000 00000000 00000010

即:2

-5>>>1

原碼:1 00000000 00000000 00000000 00000101

補碼:1 1111111 11111111 11111111 11111011

右移1位:0 1111111 11111111 11111111 11111101

即:2147483645

代碼運行截圖

如何理解Java中左移和右移問題

總結:

位移操作很簡單,使用補碼移動,補齊空缺位就行,除了>>:補與最高位一致的;其他移動哪缺哪補零。

在java中無論截圖中的a定義成 byte,short,int哪一種類型,它默認都是使用int類型(4字節32位),你使用long(8字節64位)

3 補充操作符

~(按位非):

逐位取反

|(按位或):

一真為真

1|0=1,

0|0=0,

1|1=1,

0|1=1

&(按位與):

兩真為真

1|0=0,

0|0=0,

1&1=1;

0&1=0

^(按位異或):

相異為真

1^1=0

1^0=1

0^1=1

0^0=0.

關于如何理解Java中左移和右移問題問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永胜县| 游戏| 铅山县| 沿河| 涞源县| 台北市| 云浮市| 托克托县| 东丽区| 衡阳市| 墨玉县| 内黄县| 建水县| 文化| 溧水县| 保康县| 旬阳县| 大同县| 青冈县| 阜南县| 聊城市| 新安县| 辽源市| 临海市| 五常市| 鄂伦春自治旗| 方城县| 阿拉善右旗| 万荣县| 八宿县| 久治县| 郴州市| 麦盖提县| 莱芜市| 忻州市| 海丰县| 饶阳县| 辰溪县| 筠连县| 梅河口市| 永新县|