Java 如何仅使用位运算符添加或减除由char[]数组表示的两个二进制数

Java 如何仅使用位运算符添加或减除由char[]数组表示的两个二进制数,java,bit-manipulation,calculator,Java,Bit Manipulation,Calculator,我必须加上和减去两个由char[]数组表示的二进制数,并在指定的数字系统中显示它们。我已经有了这个: public static void main(String[] args) { String num1 = "127"; String num2 = "5"; char operator = '+'; // or "-" for substract int system = 2; // from 2

我必须加上和减去两个由char[]数组表示的二进制数,并在指定的数字系统中显示它们。我已经有了这个:

public static void main(String[] args) {

    String num1 = "127";
    String num2 = "5";
    char operator = '+'; // or "-" for substract
    int system = 2; // from 2 to 16

    char[] number1 = new char[num1.length()];
    for (int i = 0; i < num1.length(); i++) {
        number1[i] = num1.charAt(i);
    }
    char[] number2 = new char[num2.length()];
    for (int i = 0; i < num2.length(); i++) {
        number2[i] = num2.charAt(i);
    }


    calc(number1, number2, operator, system);
}

public static void calc(char[] number1, char[] number2, char operator, int system){
    char[] finalResult;
    char[] bin = toBinary(number1);
    char[] bin2 = toBinary(number2);
    if(operator == "+"){finalResult = addBinary(number1, number2)}
    else{finalResult = substractBinary(number1, number2)};
    
    // sout result of add or substract in given system by string of numbers
}
我不知道如何在addBinary和substractBinary函数中进行位运算。

如何将
String num1=“127”
称为“二进制数”?你在这里的定义是什么?我可以看出
int num=127
是一个二进制数,因为int相当直接地映射到机器字,但对于字符串,我希望
String num=“01111111”
或类似的值。
public static char[] addBinary(char[] binaryNumber1, char[] binaryNumber2){
    char[] result;
    return result;
}

public static char[] substractBinary(char[] binaryNumber1, char[] binaryNumber2){
    char[] result;
    return result;
}