Pasar de decimal a binario en C++

Programa C++ para pasar de decimal a binario. El programa pide un número por teclado en base decimal y calcula y muestra su equivalente en binario.

//Pasar de decimal a binario en C++
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
    int numero, exp, digito;
    double binario;
   cout << "Introduce numero: ";
   cin >> numero;
   exp=0;
   binario=0;
   while(numero/2!=0)
   {
           digito = numero % 2;
           binario = binario + digito * pow(10.0,exp);
           exp++;
           numero=numero/2;
   }
   binario = binario + numero * pow(10.0,exp);
   cout << fixed << setprecision(0);
   cout << "binario: " << binario << endl;
    system("pause");
}

2 comentarios:

  1. Buen día, estuve analizando tu código y encontré que este programa muestra los números binarios mayores a 63(decimal) en notación cientifica. Creo que lo mas conveniente es hacer la correción necesaria para que éstos números no se muestren así.

    ResponderEliminar
  2. carajo estuvo difícil para mi xD
    #include iostream
    #include string
    #include cmath
    #include algorithm

    int main(){
    std:: cout << "incerta un numero a pasar a binario" << std:: endl;
    double natural;
    std:: cin >> natural;

    bool salir = true;
    std:: string n_natural;

    while (salir){
    natural = static_cast(natural) / 2;
    double resultado = std:: fmod(natural,1.0);

    if (resultado != 0.0){
    n_natural = n_natural + "1";
    }else n_natural = n_natural + "0";

    natural = std:: floor(natural);
    if (int(natural) == 0) salir = false;
    }
    std:: reverse(n_natural.begin(), n_natural.end());
    std:: cout << n_natural;

    return 0;
    }

    ResponderEliminar