亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Java中的位運算與移位運算有哪些

發布時間:2021-12-23 14:49:18 來源:億速云 閱讀:130 作者:iii 欄目:開發技術

本篇內容介紹了“Java中的位運算與移位運算有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

    位運算

    按位“與” &

    規則: 如果兩個相應的二進制形式的對應的位數都為 1,則結果為 1;否則為 0;

    4 & 5

    4

    0000 0100

    5

    0000 0101

    按位與運算

    &

    4 & 5 = 4

    0000 0100

    1 * 2^2 = 4

    -4 & 5

    -4

    1111 1100

    5

    0000 0101

    按位與運算

    &

    規則:運算結果符號位是1,為負數, 需要減 1,再取反(其他運算也要遵循)

    -4 & 5 = 4

    0000 0100

    1 * 2^2 = -4

    1.正數直接取二進制運算

    2.負數取反加一得補碼再運算,得到的結果符號位為 0,不需要做任何操作直接給出結果

    按位“或” |

    規則: 有 1 為 1;否則為 0;

    4 | 5

    4

    0000 0100

    5

    0000 0101

    按位或運算

    |

    4 | 5 = 5

    0000 0101

    1 * 2^0 + 1 * 2^2 = 5

    -4 | 5

    -4

    1111 1100

    5

    0000 0101

    按位或運算

    |

    規則:運算結果符號位是1,為負數, 需要減 1,再取反(其他運算也要遵循)

    -4 | 5 =

    1111 1101

    減1

    1111 1100

    取反

    -0000 0011

    -4 | 5 = -3

    1 * 2^0 + 1 * 2^1 = -3

    異或 ^

    規則: 相同為 0;不同為 1;

    4 ^ 5

    4

    0000 0100

    5

    0000 0101

    按位異或運算

    ^

    4 ^ 5 = 1

    0000 0001

    1 * 2^0 = 1

    -4 ^ 5

    -4

    1111 1100

    5

    0000 0101

    按位異或運算

    ^

    規則:運算結果符號位是1,為負數, 需要減 1,再取反(其他運算也要遵循)

    -4 ^ 5 =

    1111 1001

    減1

    1111 1000

    取反

    -0000 0111

    -4 ^ 5 = -7

    1 * 2^0 + 1 * 2^1 + 1 * 2^2 = -7

    移位運算

    左移 <<

    規則: 右邊空出的位用 0 填補高位,左移溢出則舍棄該高位。

    8 << 2

    8

    0000 1000

    << 2

    0010 0000

    左移運算符

    <<

    結果

    8 << 2 = 32

    1 * 2^5 = 32

    -8 << 2

    -8

    1111 1000

    << 2

    1110 0000

    左移運算

    <<

    規則:運算結果符號位是1,為負數, 需要減 1,再取反(其他運算也要遵循)

    減1

    1101 1111

    取反

    -0010 0000

    -8 << 2 = -32

    1 * 2^5 = -32

    右移 >>

    規則: 左邊空出的位正數用 0 負數 1 填補,右移溢出則舍棄該低位。

    8 >> 2

    8

    0000 1000

    >> 2

    0000 0010

    左移運算符

    >>

    結果

    8 >> 2 = 2

    1 * 2^1 = 2

    -8 >> 2

    -8

    1111 1000

    >> 2

    1111 1110

    左移運算

    >>

    規則:運算結果符號位是1,為負數, 需要減 1,再取反(其他運算也要遵循)

    減1

    1111 1101

    取反

    -0000 0010

    -8 >> 2 = -2

    1 * 2^1 = -2

    無符號右移 >>>

    規則: 正數與右移規則一樣;負數無符號右移,在高位補 0

    8 >>> 2

    8

    0000 1000

    >> 2

    0000 0010

    無符號右移運算符

    >>>

    結果

    8 >>> 2 = 2

    1 * 2^1 = 2

    -8 >>> 2

    -8

    1111 1111 1111 1111 1111 1111 1111 1000

    >>> 2

    0011 1111 1111 1111 1111 1111 1111 1110

    無符號右移運算符

    >>>

    規則:運算結果符號位是1,為負數, 需要減 1,再取反(其他運算也要遵循)

    減1

    -

    取反

    -

    -8 >>> 2 = 1073741822

    1073741822

    “Java中的位運算與移位運算有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

    向AI問一下細節

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

    AI

    会理县| 保亭| 报价| 绍兴县| 固原市| 田阳县| 六枝特区| 甘洛县| 紫金县| 山阴县| 景谷| 韶山市| 黎川县| 鹤庆县| 揭西县| 晋中市| 安丘市| 十堰市| 新乐市| 宜黄县| 沾益县| 镇安县| 右玉县| 杭锦后旗| 湘潭市| 增城市| 忻城县| 黄陵县| 孙吴县| 余干县| 霍州市| 广宗县| 凌源市| 洞口县| 安庆市| 广平县| 确山县| 满洲里市| 楚雄市| 秭归县| 青龙|