Мое назначение - использовать C ++ для преобразования строки, представляющей двоичное число, в int
.
Например,
int result = BinaryToInt("10110");
должно дать result
значение 22
. Вот мой код:
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int BinaryToInt(string s) {
int result = 0;
for (int i = 0; i < s.size(); ++i) {
result *= 2;
result += s[i] - '0';
}
return result;
}
Есть ли способ выполнить эту задачу без использования явных циклов? (Требуется, чтобы программа не включала такие ключевые слова, как for
или while
и т. Д.) Было предложено использовать встроенный алгоритм, но я не уверен, какой из них использовать или как реализовать это.