回覆列表
  • 1 # 使用者2953413550839

    假設 j = i 那 j >> i = 0

    j = i j >> i = 0

    右移位數相當於除2的位數方,二進位制32個一組:(正數的無符號右移適用此公式,負數不適用)

    j >> i = j >>> i = j / (int) (Math.pow(2, i % 32));

    左移位數相當於乘2的位數方,二進位制32個一組:

    j << i = j * (int) (Math.pow(2, i % 32));

    異或符號運算,從二進位制演算法後轉為十進位制,公式:

    ^ 符號為異或 0 ^ 0 = 0, 1 ^ 0 = 1, 0 ^ 1 = 1, 1 ^ 1 = 0

    舉例:

    9 二進位制:1 0 0 1

    2 二進位制:0 0 1 0

    9 ^ 2 結果:1 0 1 1

    轉換為十進位制:8 + 2 + 1 = 11

    規律:跳過為0的數,只關注為1的數 每位的十進位制 = Math.pow(2, 位數(從左到右數) - 1);

  • 中秋節和大豐收的關聯?
  • 西遊記釋厄傳如何設定一鍵必殺宏?