-----------------------------------------------------------------------
 MAC-110   -  Manipulacao de digitos - mudança de base 
=======================================================================
/* 
 * arquivo: base2to10.c
 * --------------------
 * Este programa transforma um dado numero binario (base 2) n 
 * para a sua representacao na base 10. 
 */

#include <stdio.h>

int main()
{
    int n, dig, dec, pot;

    printf("De o valor de n (um numero binario):\n");
    scanf("%d", &n);
    printf("n = %d \n", n);

    dec = 0;
    pot = 1;

    while (n > 0) {
	dig = n % 10;
	n = n / 10;
	dec = dec + dig * pot;
	pot = pot * 2;
    }
    printf("representacao de n na base decimal  = %d\n ", dec);

    return 0;
}
=================================================================
/* 
 * arquivo: base10to2.c
 * --------------------
 * Este programa transforma um dado numero inteiro n (na base 10) 
 * para a sua representacao na base 2.
 */

#include <stdio.h>

int main()
{
    int n, dig, bin, pot;

    printf("De o valor de n (um inteiro positivo):\n");
    scanf("%d", &n);
    printf("n = %d \n", n);

    bin = 0;
    pot = 1;

    while (n > 0) {
	dig = n % 2;
	n = n / 2;
	bin = bin + dig * pot;
	pot = pot * 10;
    }
    printf("representacao de n na base 2  = %d\n ", bin);

    return 0;
}

===========================================================
OBS:

Para quem vai compilar no Windows, acrescentar em todos os
programas:

 #include <stdlib.h>  
 system("pause");

Veja abaixo.
 

/* 
 * arquivo: base2to10.c
 * --------------------
 * Este programa transforma um dado numero binario (base 2) n 
 * para a sua representacao na base 10. 
 */

#include <stdio.h>
#include <stdlib.h> /* <===============*/

int main()
{
    int n, dig, dec, pot;

    printf("De o valor de n (um numero binario):\n");
    scanf("%d", &n);
    printf("n = %d \n", n);

    dec = 0;
    pot = 1;

    while (n > 0) {
	dig = n % 10;
	n = n / 10;
	dec = dec + dig * pot;
	pot = pot * 2;
    }
    printf("representacao de n na base decimal  = %d\n ", dec);
    
    return 0;
}
=================================================================