Convert a decimal number to binary using only loops, strings, if
/else
statements.
This is my first C++ project and it took me a while to do it. Let me know what you think.
#include <iostream>
#include <string>
using namespace std;
string ConvertInt(int value);
string ConvertDec(double value);
void printBinary1(string str1);
void printBinary2(string str2);
int main()
{
double number, decValue;
int remainder, intValue;
string binary1, binary2;
cout << "Enter a deciaml value to be converted to binary. Then press ENTER: ";
cin >> number;
intValue = (int)number;
decValue = number - intValue;
binary1 = ConvertInt(intValue);
binary2 = ConvertDec(decValue);
printBinary1(binary1);
cout << ".";
printBinary2(binary2);
int pause;
cin >> pause;
return 0;
}
string ConvertInt(int value)
{
int remainder;
string binary;
while(value != 0)
{
remainder = value % 2;
binary += remainder;
value /= 2;
}
return binary;
}
string ConvertDec(double value)
{
string binary;
int integer;
double decimal;
for(int i = 1; i <= 5; i++)
{
integer = (int)value;
binary += integer;
decimal = value - integer;
value = decimal * 2;
}
return binary;
}
void printBinary1(string str1)
{
string binary1 = str1;
for(int i = (binary1.length() - 1); i <= (binary1.length() - 1); i--)
{
cout << (int)binary1[i];
}
}
void printBinary2(string str2)
{
string binary2 = str2;
for(int index = 1; index < binary2.length(); index++)
{
cout << (int)binary2[index];
}
}