I want to modify this function to return 4 bit packedBCD instead of Unpacked anyone with any pointers thanks.
string dfc = ConvertDecimalToBCD((int)decimalNumber);
cout<<"BDCValue::"<<dfc<<endl;
cout<<endl;
For decimal number 2000
i want to get 0010 0000
instead of 0010 0000 0000 0000
. if its possible
string ConvertDecimalToBCD(int decimal)
{
int i = decimal;
string s, temp, final;
stringstream out;
out << i;
s = out.str();
for (int i = 0; i < s.size(); i++)
{
temp = ReturnBCDFormat(s[i]);
final = final+temp;
}
return final;
}
function to return bcd format.
string ReturnBCDFormat(char num)
{
switch (num)
{
case '0':
return "0000";
break;
case '1':
return "0001";
break;
case '2':
return "0010";
break;
case '3':
return "0011";
break;
case '4':
return "0100";
break;
case '5':
return "0101";
break;
case '6':
return "0110";
break;
case '7':
return "0111";
break;
case '8':
return "1000";
break;
case '9':
return "1001";
break;
default:
return "2";
break;
}
}