java按进制获取计算结果

java按进制获取计算结果

public static String addBinary(String a, String b,Integer ruleNum) {
          
   
        int carry = 0;
        int sum = 0;
        int opa = 0;
        int opb = 0;
        StringBuilder result = new StringBuilder();
        while (a.length() != b.length()) {
          
   
            if (a.length() > b.length()) {
          
   
                b = "0" + b;
            } else {
          
   
                a = "0" + a;
            }
        }
        for (int i = a.length() - 1; i >= 0; i--) {
          
   
            opa = a.charAt(i) - 0;
            opb = b.charAt(i) - 0;
            sum = opa + opb + carry;
            if (sum >= ruleNum) {
          
   
                result.append((char) (sum - ruleNum + 0));
                carry = 1;
            } else {
          
   
                result.append((char) (sum + 0));
                carry = 0;
            }
        }
        if (carry == 1) {
          
   
            result.append("1");
        }
        return result.reverse().toString();
    }
经验分享 程序员 微信小程序 职场和发展