Thursday, December 29, 2016

Konversi biner <=> desimal

#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
  int pil;
  printf("Konversi Biner - Desimal\n");
  printf("(1) Biner ke Desimal\n");
  printf("(2) Desimal ke Biner\n");
  printf("Enter pilihan anda: ");
  scanf("%d",&pil);
  if(pil==1)
  {
    char bin[16];
    int i,bobot,dec=0;
    printf("Masukkan Bilangan biner : ");
    scanf("%s",&bin);
    i=0;
    bobot=1;
    for(i=strlen(bin)-1;i>=0;i--)
    {
      if(bin[i]=='1'){
        dec = dec+bobot; 
      }
      bobot = bobot * 2;
    }
    printf("Bilangan desimal = %d",dec);
  }
  if(pil==2)
  {
    int sisa,i=0,j,dec;
    char bin[16];
    printf("Masukkan Bilangan desimal : ");
    scanf("%d",&dec);
    do
    {
      sisa=dec%2;
      dec=dec/2;
      if(sisa) bin[i]='1';
        else bin[i]='0';
      i++;
    }while(dec!=0);
    printf("Bilangan desimal = ");
    for(j=i-1;j>=0;j--)
    {
      printf("%c",bin[j]);
    }
  }   
 
  printf("\n");
  system("PAUSE");
  return 0;
}