binary: initial commit

This commit is contained in:
Dmitry Kokorin 2016-04-01 22:34:36 +03:00
parent da6af4a9b8
commit e20c1ea2f2
2 changed files with 42 additions and 0 deletions

31
cpp/binary/binary.cpp Normal file
View file

@ -0,0 +1,31 @@
#include "binary.h"
namespace binary {
unsigned convert(const std::string &input)
{
unsigned result = 0;
unsigned factor = 1;
for (auto i = input.crbegin(); i != input.crend(); ++i) {
switch (*i) {
case '0':
break;
case '1':
result += factor;
break;
default:
return 0;
}
factor <<= 1;
}
return result;
}
}

11
cpp/binary/binary.h Normal file
View file

@ -0,0 +1,11 @@
#pragma once
#define EXERCISM_RUN_ALL_TESTS
#include <string>
namespace binary {
unsigned int convert(const std::string&);
}