如何在Android/Java中計算2的十六進制數的補碼。如何以編程方式獲得二進制數的二進制補碼
For Example :
String x = 10011010;
1's complement of x = 01100101;
2's complement is 01100110;
如何在Java中進行編程實現?
我試過下面的代碼的二進制轉換爲其1的恭維:
public String complementFunction(String bin) {
String ones = "";
for (int i = 0; i < bin.length(); i++) {
ones += flip(bin.charAt(i));
}
return ones;
}
// Returns '0' for '1' and '1' for '0'
public char flip(char c) {
return (c == '0') ? '1' : '0';
}
但我無法得到它的二進制補碼。
你知道背後的理論嗎?如果你知道理論,實施它是一件容易的事。你試過什麼了? – BackSlash
這可能是純Java的。它對於Android來說具體如何? –
@BackSlash我發佈了我的代碼以獲得1的補碼。 –