Ir al contenido principal

Convertidor decimal a binario, octal y hexadecimal en C

El sistema binario es un sistema de numeración en el que los números se representan utilizando las cifras 0 y 1, es decir solo 2 dígitos (bi = dos). Esto en informática y en electrónica tiene mucha importancia ya que las computadoras trabajan internamente con 2 niveles: hay o no hay de Tensión, hay o no hay corriente, pulsado o sin pulsar, etc.


El sistema de numeración octal es un sistema de numeración en base 8, una base que es potencia exacta de 2 o de la numeración binaria. Esta característica hace que la conversión a binario o viceversa sea bastante simple. El sistema octal usa 8 dígitos (0, 1, 2, 3, 4, 5, 6, 7) y tienen el mismo valor que en el sistema de numeración decimal.



El sistema Hexadecimal está en base 16, sus números están representados por los 10 primeros dígitos de la numeración decimal, y el intervalo que va del número 10 al 15 están representados por las letras del alfabeto de la A a la F.


Codigo:

#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
int num;
int opc;

void binario() 
{ 
   int aux; 
   if(num==0) 
      return; 

   aux=num%2; 
   num=num/2; 
   binario(); 
   
   printf(" %d",aux); 
 
}
void octal()
{
    int aux1; 
   if(num==0) 
      return; 

   aux1=num%8; 
   num=num/8; 
   octal(); 

   printf(" %d",aux1); 
}

void hex()
{
 printf("\n");
 printf("Hexadecimal: %x",num);

}

int main() 
{ 
do
    {
   system("color A");
   printf("\n Introduce un numero: \n"); 
   scanf("%d",&num);
   
   printf("\n 1- Binario \n 2- Octal \n 3- Hexadecimal \n 4- Salir \n Ingresa una opcion: ");
   scanf("%d",&opc);
   switch (opc)
   {
    case 1:
 binario(); 
 getch();
 system("cls");
 break;
 
 case 2: 
 octal();
 getch();
 system("cls");
 break;
 
 case 3: 
 hex();
 getch();
 system("cls");
 break;
 
 case 4:
 exit(4);
 
 default:
  system("cls");
 printf("Esa opcion no esta disponible! \n \n \a \a");   
 getch();
 
 }  
 } while ( opc = 5 );
   
}

Comentarios

  1. el %x que es? al imprimir en hexadecimal y hay para binario y octal?

    ResponderBorrar
    Respuestas
    1. Es para especificar el largo de caracteres en este caso 8 :)

      Borrar
  2. al ponerlo en el programa me genera un error en el primer carácter osea en #include

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Pedir 3 numeros y mostrar de mayor a menor en C++

Con este programa podemos ordenar de mayor a menor de manera sencilla usando "if" para esto, se utilizan varias combinaciones faciles de comprender. //Pedir 3 numeros y mostrarlos de mayor a menor # include < iostream > # include < string > using namespace std ; int a , b , c ; int main ( ) { cout < < " Ingresa numero 1: " < < endl ; cin > > a ; cout < < " Ingresa numero 2: " < < endl ; cin > > b ; cout < < " Ingresa numero 3: " < < endl ; cin > > c ; if ( a > b & & b > c ) cout < < a < < " , " < < b < < " , " < < c ; else { if ( a > c & & c > b ) cout < < a < < " , " < < c < < " , " < < b ; else { if ( b > a & & a > c ) cout < < b < < " , " < < a < < "

Calculo del promedio de 3 calificaciones en c++

Con este pequeño programa, aprendemos las funciones basicas de ingreso y de salida de datos en C++, los cuales son un poco distintos a C. //Calculo del promedio de 3 calificaciones. # include < iostream > using namespace std ; float a , b , c , prom ; int main ( ) { cout < < " Ingresa calificacion 1: " < < endl ; cin > > a ; cout < < " Ingresa calificacion 2: " < < endl ; cin > > b ; cout < < " Ingresa calificacion 3: " < < endl ; cin > > c ; prom = ( a + b + c ) / 3 ; cout < < " Promedio: " < < prom ; return 0 ; }

Imprimir del 1 al 100 en C

Con este pequeño programa, visualizamos los números del 1 al 100. Utilizamos el ciclo repetitivo "for", el cual nos ayuda a repetir una parte de código hasta que se cumplan unas sentencias. #include < stdio.h > #include < stdlib.h > #include < conio.h > int main(){ //system("color A"); Color de letra verde :) int a = 0,b = 0,c = 0; int opcion = 0,cont = 0; for (cont = 1; cont <= 100; cont++){ printf("%d \n", cont); } getch(); }