10—>1010
12-->1100
&與例如:以下按位比較,當兩個同時為1則為1,否則為0
10—>1010
12-->1100
結果為:
8-->1000
|或例如:以下按位比較,當兩個有任何乙個為1則為1,否則為0
10—>1010
12-->1100
結果為:
14-->1110
^非例如:以下按位比較,當兩個數不同時則為1否則為0。
10—>1010
12-->1100
結果為:
6-->0110
在32的機器上
// 00000000 00000000 00000000 00000101 這是5
// 11111111 11111111 11111111 11111010 這是5取反的結果-6
// ~是取反:
system.out.println(integer.tostring(5, 2));
system.out.println("-5取反:" + ~-5+"|規律:當前數+1在 在變為正數值或負數,如:-5+1=abs(-4)=4");
system.out.println("5取反:" + ~5+"|規律:當前數+1在 在變為正數值或負數,如:5+1=-6");
// >>>1 相當於 num/2(n) 無符號右移
// >>1 相當於 num/2(n)
// <<1 相當於 num*2(n)
system.out.println(111 >> 2);//27
system.out.println(300 >>> 1);//150
system.out.println(111 << 1);//222
十進位制,二進位制互轉實現思路
/**
* 二進位制轉換十進位制 -只使用者來便於掌握轉換規律
* 該方法只能準換簡單的正數值
* * @param str
* @return
*/public static int binary_algorism(string str) else if (index == 1) else
total += y;}}
} return total;
} /**
* 十進位制轉換二進位制-只使用者來便於掌握轉換規律
* 該方法只能準換簡單的正數值
* @param num
* @return
*/public static string algorism_binary(int num) else
num = temp;
} string str = "";
for (int i = builder.length() - 1; i >= 0; i--)
return str;
}
筆記 位運算
1 格式 x y 2 規則 對應位均為1時才為1,否則為0。例如,3 9 1 0011 1001 0001 3 主要用途 取 或保留 1個數的某些位,其餘各位置0。1 格式 x y 2 規則 對應位均為0時才為0,否則為1 3 9 11。例如,3 9 11 0011 1001 1011 3 主要用途...
位運算筆記
需要掌握的知識 原碼 反碼 補碼 原碼 是最簡單的機器數表示法。用最高位表示符號位,1 表示負號,0 表示正號。其他位存放該數的二進位制的絕對值。1010 最高位為 1 表示這是乙個負數,其他三位為 010 即 0 2 2 1 2 1 0 20 2 表示冪運算子 所以1010表示十進位制數 2 面臨...
位運算 筆記
這幾天擼了一下位運算。寫個筆記總結一下。首先運算了解一下。按位與 按位或 按位異或 取反 左移 右移 這一題,我們本來可以不停除2,看最後是否等於1 但是掌握了上面我們說的思想以後。就直接簡單了。只需要兩行 class solution 因為如果是2的冪 那麼它的二進位制必定只有乙個1.去掉了最後乙...