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

问题描述

我必须将两个由 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
}

这里有两个我无法编写的函数

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

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

而且我不知道如何在 addBinary 和 substractBinary 函数中进行按位运算。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)