Pasar de binario a decimal en C++

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

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

15 comentarios:

  1. Para que sirve pow(2.0,exp) ?

    ResponderEliminar
  2. feo
    no sirve no corre para eso te pago la proxima hazlo bien si lo vas a hacer.

    ResponderEliminar
  3. Exelente aporte muy buen uso de la potencia.

    ResponderEliminar
  4. como seria aplicando funciones?

    ResponderEliminar
  5. Aqui se explica como hacerlo!! https://www.youtube.com/watch?v=lf99FKfzBgY&t=156s

    ResponderEliminar
  6. Excelente bro me salvaste muy bien hecho

    ResponderEliminar
  7. #include
    #include
    using namespace std;
    int main(){
    int a[100], binario,b,c,d,i=0, numero,suma=0,exp=0;
    cout<<"Digite el binario: ";cin>>binario;
    do{
    numero=binario%10;
    binario=(int)(binario/10);
    a[i]=numero;
    i++;
    }while(binario!=0);

    for(int n=0;n<i;n++){

    suma+=a[n]*pow(2,exp);
    exp++;
    }

    cout<<"El numero en base 10 es: "<<suma;
    return 0;
    }
    acabo de hacer este, es con vectores :)

    ResponderEliminar
  8. aca esta el mio



    #include
    #include
    using namespace std;

    int main()
    {


    while (true) {

    string bin;
    int deci;
    deci = 0;
    int rep = 0;
    cin >> bin;
    int size = bin.size()-1;
    while (rep!=bin.size()) {
    char CHAR = bin[size];
    if (CHAR == '1') {
    deci += ((int)pow(2,rep));
    }
    else if (CHAR != '0') {
    cout << "ESE NO ES BINARIO IDIOTA";
    break;
    }
    size--;
    rep++;
    }
    cout << endl << deci;
    }
    return 0;
    }

    ResponderEliminar