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");
}
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í.
ResponderEliminarcarajo estuvo difícil para mi xD
ResponderEliminar#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;
}