二进制求和
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;
}
};
问题描述:给定两个二进制字符串,返回他们的和(用二进制表示)。
来源: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;
}
};
相关文章推荐
- lintCode(408)——二进制求和
- LintCode(容易)二进制求和
- 二进制求和
- 二进制求和(LintCode)
- 67. Add Binary (二进制求和)
- 微软一面:输入两个数,相加求和,二进制输出
- 二进制求和
- LintCode(容易)二进制求和遇到的bug
- lintcode add-binary 二进制求和
- 算法学习(Java实现之字符串篇)····二进制求和
- LintCode Add Binary 二进制求和
- 二进制求和
- 二进制求和
- lintcode --二进制求和
- 【或 与 求和(二进制)】UVALive - 6918 And Or
- 源码,反码,补码,二进制 反码求和
- 二进制求和,lintcode
- 《编程之美 》2.1 位运算实现—交换两个整数、求和、整数的二进制表达中1的个数
- lintcode ----二进制求和
- Lintcode 408 二进制求和