Simple C++ program that converts from decimal to binary by dividing a given number by two repeatedly, saving the remainder to a boolean vector, and then printing the contents of the vector back.

#include <iostream>
#include <vector>
////////////////////////////////////////////////////////////////////////
void printBinary(std::vector passedBool); //
std::vector divisionAlgorithm(unsigned long long userInput); //
////////////////////////////////////////////////////////////////////////
int main(void)
{
unsigned long long foo = 0;
for(int i = 0; i < 5; i++)
{
std::cout << "Please enter a number: "; std::cin >> foo;
std::cout << std::endl;
// divisionAlgorithm returns a boolean vector, and printbinary
// prints the returned vector
printBinary(divisionAlgorithm(foo));
}
return 0;
}
////////////////////////////////////////////////////////////////////////
void printBinary(std::vector passedBool)
{
// Reverse iterator... faster than inserting to front
for(auto it = passedBool.rbegin(); it != passedBool.rend(); ++it)
{
std::cout << (*(it));
}
std::cout << std::endl;
return;
}
////////////////////////////////////////////////////////////////////////
std::vector divisionAlgorithm(unsigned long long userInput)
{
std::vector returnBool;
// while the passed input is non 0
while(userInput)
{
returnBool.push_back(userInput % 2);
userInput /= 2;
}
// Return the vector
return returnBool;
}
////////////////////////////////////////////////////////////////////////