Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/06/2019, 15:37
dehm
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: traduciendo números binarios en c++

Hola. No entiendo muy bien la pregunta, puesto que el programa parece funcionar bien.

Si te refieres a que no muestre ceros a la izquierda, te muestro una adaptación a tu código que ofrece eso:

Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3. /**
  4.  * Código de: https://codigo--java.blogspot.com.uy/2013/06/java-basico-045-funcion-conversion.html
  5.  *
  6.  * 11. Desarrolla una función que muestre en binario un número entre 0 y 255.
  7.  */
  8. int binario(int num_decimal);
  9. /*--------------------*/
  10. int main(int argc, char** argv)
  11. {
  12.     int num;
  13.     cout << "\nIngresa un número entre 0 y 255: ";
  14.     cin >> num;
  15.     if(num < 0 || num > 255)
  16.     {
  17.         cout << "\n ERROR";
  18.     }
  19.     else
  20.     {
  21.         cout << "\nEl binario de " << num << " es "<<binario(num);
  22.     }
  23.     return 0;
  24. }
  25.  
  26. int binario(int num_decimal)
  27. {
  28.     int resto, divisor = 2;
  29.     int dividendo = num_decimal;
  30.     int resultado=0;
  31.     int multiplicador = 1;
  32.     while(dividendo >= divisor)  //Mientras el dividendo sea mayor o igual que el divisor, es decir, mayor o igual que 2.
  33.     {
  34.         resto = dividendo % 2;
  35.         if(resto == 1)
  36.         {
  37.             resultado = resultado + multiplicador;
  38.         }
  39.         dividendo = dividendo/divisor; // Actualizamos el valor del dividendo dividiendolo entre 2.
  40.         multiplicador*=10;
  41.     }
  42.     if (dividendo == 1)
  43.     {
  44.     resultado = resultado + multiplicador;
  45.     }
  46.     return resultado;
  47. }

(algortimo sacado de aquí)
__________________
Mi calculadora en Qt