Páginas

NIMADRES

Convertir números decimales a binarios en C++

El sistema binario es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras, debido a que trabajan internamente con dos niveles de voltaje, por lo cual su sistema de numeración natural es el sistema binario (encendido 1, apagado 0).

Un número binario  puede ser representado por cualquier secuencia de bits (dígitos binarios), que suelen representar cualquier mecanismo capaz de usar dos estados mutuamente excluyentes.


Esta vez se me ocurrió subir un programa muy parecido al de los Números Hexadecimales solo que ahora con números binarios. Mas de una persona ha intentado hacer un programa como este, en fin les dejo un ejemplo de como podrían hacer uno con funciones recursivas y ustedes lo pueden mejorar.




#include <iostream>
#include <cstring>
#include <sstream>

using namespace std;

void convertir(string &bin,stringstream &stream,int numero){
    int residuo;
    if(numero == 0 || numero == 1)
        stream << numero;
    else{
        residuo = numero%2;
        numero = numero/2;
        convertir(bin,stream,numero);
        stream << residuo;   
    }
    bin = stream.str();
}
string binario(string b){
    stringstream stream;
    string bin;
    int numero = atoi(b.c_str());
    convertir(bin,stream,numero);
    b = bin;
    return b;
}

int main(){
    string numero;
    cout << "Ingresa el numero decimal: ";
    getline(cin,numero);
    numero =  binario(numero);
    cout << "\nEl numero en binario es: " << numero;
    cin.get();
    return 0;   
}


No hay comentarios:

Publicar un comentario