您的位置:首页 > 其它

二进制求和

2017-07-13 10:14 330 查看
/*

问题描述:给定两个二进制字符串,返回他们的和(用二进制表示)。

来源: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 here
string 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;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: