string binToHex(string binStr)
{
string hexStr;
int len = binStr.length();
int mod = len%4;
binStr.insert(0, mod, '0');
string str4bit;
int value = 0;
for (int i=0; i<len+mod; i=i+4)
{
str4bit = binStr.substr(i, 4);
value = 0;
for (int j=0; j<4; j++)
{
switch (str4bit.at(j))
{
case '0':
break;
case '1':
value += (int)pow(2, 3-j);
break;
default:
cout << "string input is not a binary string!";
return "";
}
}
hexStr.append(1, valueToHex(value));
}