二进制求和

来源:互联网 发布:vissim仿真软件 编辑:程序博客网 时间:2024/05/19 07:41
/*
问题描述:给定两个二进制字符串,返回他们的和(用二进制表示)。
来源:LintCode
日期:2017-7-13

作者:syt

思路:对于给定的二进制字符串,先转换成整形数据进行计算,再转成二进制

小知识:整形转字符串to_string(int n)

*/

#include <iostream>#include <string>using namespace std;class BinarySum{public:/*** @param a a number* @param b a number* @return the result*/string addBinary(string& a, string& b) {// Write your code herestring res = "";int aa = 0;for (int i = 0; i < a.length(); i++){aa = aa * 2 + a[i] - '0';}int bb = 0;for (int i = 0; i < b.length(); i++){bb = bb * 2 + b[i] - '0';}int result = aa + bb;if (result == 0)res = "0";while (result != 0){res = to_string(result % 2) + res;result = result / 2;}return res;}};


原创粉丝点击