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

溫馨提示×

溫馨提示×

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

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

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

    博爱县| 郓城县| 宜良县| 临城县| 绵阳市| 台山市| 凤阳县| 苍南县| 若羌县| 吴旗县| 平阴县| 林口县| 水富县| 青田县| 拉孜县| 黄梅县| 阆中市| 吉木萨尔县| 平湖市| 叙永县| 西乡县| 任丘市| 云霄县| 淮阳县| 武宣县| 惠州市| 龙川县| 衡阳县| 福泉市| 自治县| 织金县| 和田市| 广汉市| 富平县| 高青县| 博野县| 文安县| 怀化市| 靖宇县| 叶城县| 临澧县|