-----------------------------------------------------------------------
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;
}
=================================================================