Finden des XOR von binären Zeichenketten
XOR funktioniert nur für primitive Datentypen. Wir können jedoch unsere eigene Methode schreiben, die den XOR-Operator und zusätzliche Logik verwendet, um das XOR von zwei binären Zeichenketten zu finden.
public class XOR {
public static String binaryStringXOR(String binStr1, String binStr2) {
String xor = "";
// Fügen von Nullen hinzu, um die beiden Zeichenketten gleich lang zu machen
if (binStr1.length() > binStr2.length()) {
String temp = "";
for (int i = 0; i < binStr1.length() - binStr2.length(); i++)
temp += "0";
binStr2 = temp + binStr2;
} else if (binStr2.length() > binStr1.length()) {
String temp = "";
for (int i = 0; i < binStr2.length() - binStr1.length(); i++)
temp += "0";
binStr1 = temp + binStr1;
}
for (int i = 0; i < binStr1.length(); i++) {
xor += binStr1.charAt(i) ^ binStr2.charAt(i);
}
return xor;
}
public static void main(String[] args) {
System.out.println("1001 XOR 1111: " + binaryStringXOR("1001", "1111"));
System.out.println("1 XOR 10100: " + binaryStringXOR("1", "10100"));
System.out.println("0111 XOR 1: " + binaryStringXOR("0111", "1"));
System.out.print("100000 XOR 0: " + binaryStringXOR("100000", "0"));
}
}
Um den Code auszuführen, speichern Sie ihn in die Datei ~/project/XOR.java
und führen Sie die folgenden Befehle im Terminal aus:
cd ~/project/
javac XOR.java
java XOR
Die Ausgabe wird sein:
1001 XOR 1111: 0110
1 XOR 10100: 10101
0111 XOR 1: 0110
100000 XOR 0: 100000