Facebook
From Commodious Cassowary, 5 Months ago, written in C.
Embed
Download Paste or View Raw
Hits: 130
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include<math.h>
  4. void DecToBin(int l)
  5. {
  6.     int i;
  7.     int length = 0 ;
  8.     int temp = l;
  9.     for(; 0<l; l=l/2)
  10.     {
  11.         length = length+ 1;
  12.     }
  13.  
  14.     char bin[length];
  15.  
  16.     for(i = 0; i<sizeof(bin); i ++ )
  17.     {
  18.         bin[i] = temp%2;
  19.         temp = temp /2;
  20.     }
  21.     i = length;
  22.     for(; 0<i; i--)
  23.     {
  24.  
  25.         printf("%d",bin[i-1]);
  26.     }
  27. }
  28.  
  29. void BinToDec(int l)
  30. {
  31.     int i;
  32.  
  33.     int reszta = 0 ;
  34.     int decimal =0;
  35.  
  36.     for(i = 0 ; 0 < l; i++)
  37.     {
  38.         reszta = l%10;
  39.         decimal = decimal + reszta*pow(2,i);
  40.         l = l/10;
  41.     }
  42.     printf("Wartosc dziesietna to: %d ", decimal);
  43. }
  44.  
  45. void DecToHex(int l)
  46. {
  47.     int temp = l;
  48.     int i;
  49.     int length = 0 ;
  50.  
  51.     for(; 0<l; l=l/16)
  52.     {
  53.         length = length+ 1;
  54.     }
  55.  
  56.     char bin[length];
  57.  
  58.     for(i = 0; i<sizeof(bin); i ++ )
  59.     {
  60.         int reszta = temp%16;
  61.         if(reszta>=10)
  62.         {
  63.             reszta = 55 + reszta;
  64.         }
  65.         else
  66.             reszta = 48 + reszta;
  67.  
  68.         bin[i] = reszta;
  69.         temp = temp /16;
  70.     }
  71.     i = length;
  72.     for(; 0<i; i--)
  73.     {
  74.         printf("%c",bin[i-1]);
  75.     }
  76. }
  77. int main()
  78. {
  79.     printf("Co chcesz zrobic?\n1.Zamienic liczbe dziesietna na binarna\n2.Zamienic liczbe binarna na dziesietna\n3. Zamienic liczbe dziesietna na szestastkowa\n");
  80.     int number,l;
  81.     scanf("%d", &number);
  82.     switch(number)
  83.     {
  84.     case 1:
  85.         printf("Podaj liczbe, ktora chcesz zamienic\n");
  86.         scanf("%d", &l);
  87.         DecToBin(l);
  88.         break;
  89.  
  90.     case 2:
  91.         printf("Podaj liczbe binarna, ktora chcesz zamienic\n");
  92.         scanf("%d", &l);
  93.         BinToDec(l);
  94.         break;
  95.     case 3:
  96.         printf("Podaj liczbe, ktora chcesz zamienic\n");
  97.         scanf("%d", &l);
  98.         DecToHex(l);
  99.         break;
  100.     }
  101.  
  102.     return 0;
  103. }