
Patrick B. answered 08/07/21
Math and computer tutor/teacher
using namespace std;
#include <iostream>
#include <math.h>
#define MAX_BITS (16)
void Dec2Bin(int n, char * binStr, int expo)
{
if (expo>0)
{
int P = pow(2,expo);
binStr[MAX_BITS-expo-1] = ((n/P)==1) ? '1' : '0';
//cout << " P = " << P << " : n = " << n << " expo = " << expo << " binstr=>" << binStr << "<" << endl;
Dec2Bin(n%P,binStr,--expo);
}
else
{
binStr[0]= (n==1) ? '1' :'0';
}
}
int main()
{
char binStr[MAX_BITS+1];
for (int iLoop=0; iLoop<MAX_BITS; iLoop++) { binStr[iLoop]='0'; } //memset(binStr,'0',MAX_BITS);
binStr[MAX_BITS]=0;
int n=100;
Dec2Bin(n,binStr,MAX_BITS-1);
cout << binStr << endl;
}