вы можете сделать это не рекурсивно, используя что-то вроде этого:
std::string Dec2Bin(int nValue, bool bReverse = false)
{
std::string sBin;
while(nValue != 0)
{
sBin += (nValue & 1) ? '1' : '0';
nValue >>= 1;
}
if(!bReverse)
std::reverse(sBin.begin(),sBin.end());
return sBin;
}
конечно, это не слишком архитектура дружественна, но она избегает cout, только если вы не используете консоль. он также выводит в любом порядке следования битов.