输入两个字符串a和b,字符串内容为二进制数字,求两个字符串相加的结果,加法计算方法以二进制方式计算,并返回对应的字符串结果。要求程序尽可能的高效。 字符串长度不超过100。
区块链毕设网qklbishe.com为您提供问题的解答
输入两个字符串a和b,字符串内容为二进制数字,求两个字符串相加的结果,加法计算方法以二进制方式计算,并返回对应的字符串结果。要求程序尽可能的高效。
字符串长度不超过100。
一道很好较难的字符串题,出得很好(头文件省了)
public class AddBinary { public static String addBinary(String a, String b) { int i = a.length() - 1; int j = b.length() - 1; int da = 0; int db = 0; int adv = 0; StringBuffer result = new StringBuffer(); while (i >= 0 && j >= 0) { da = a.charAt(i--) == '0' ? 0 : 1; db = b.charAt(j--) == '0' ? 0 : 1; int d = da + db + adv; result.append(d % 2 == 0 ? '0' : '1'); adv = d >> 1; } if (i >= 0) { while (i >= 0) { da = a.charAt(i--) == '0' ? 0 : 1; int d = da + adv; result.append(d % 2 == 0 ? '0' : '1'); adv = d >> 1; } } else if (j >= 0) { while (j >= 0) { db = b.charAt(j--) == '0' ? 0 : 1; int d = db + adv; result.append(d % 2 == 0 ? '0' : '1'); adv = d >> 1; } } if (adv == 1) { result.append('1'); } return result.reverse().toString(); } public static void main(String args[]) { String consult=addBinary("11","1"); System.out.print("consult is "+consult); } }
54:31
以上就是关于问题输入两个字符串a和b,字符串内容为二进制数字,求两个字符串相加的结果,加法计算方法以二进制方式计算,并返回对应的字符串结果。要求程序尽可能的高效。 字符串长度不超过100。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训