Solved

# Negative Dec to Binary

Posted on 2004-08-08

Below is my program that reads decimal numbers and outputs them in binary code. Know I am trying to read negative numbers and output them in 2's complement form. For example, 8 is 0000000000001000 but -8 is 1111111111111000 in 2's complement form. How can I do this. I tried changing the <> but this did not work.

my input has these numbers 252,8,9,45,63,74 (uses these numbers for negative as well).

#include <iostream>

#include <fstream>

using namespace std;

void dectobin(int num, int base, int count = 0);

int main()

{

ifstream inFile;

inFile.open("input3.txt");

int decimalnum[6];

int base;

int i;

base = 2;

cout<<"Enter the number in decimal: "<<endl;

if(!inFile)

{

cout<<"Cannot open input file!"<<endl;

return 1;

}

else

for (i=0 ;i<6;i++) {

inFile>>decimalnum[i];

cout<<"Decimal: "<<decimalnum[i]<<" = ";

dectobin(decimalnum[i], base);

cout<< " in Binary" <<endl;

}

return 0;

}

void dectobin(int num, int base, int count)

{

if(num > 0 || count < 16)

{

dectobin(num/base, base, ++count);

cout<<num % base;

}

}