Advertisement
abs25

LV-17

Feb 23rd, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.28 KB | None | 0 0
  1. //5. Cijeli u binarni
  2. #include <stdio.h>
  3. #include<math.h>
  4. int main()
  5. {
  6.     int i, p = 0, E, reg[32];
  7.     float a, r;
  8.  
  9.     printf("\nUpisite neki realni broj: ");
  10.     scanf("%f", &a);
  11.  
  12.     //Nzb
  13.     if (a < 0)
  14.     {
  15.         reg[0] = 1;
  16.         a = abs(a);
  17.     }
  18.     else reg[0] = 0;
  19.  
  20.     //Eksponent
  21.     if (a >= 2)
  22.     {
  23.         while (a >= 2)
  24.         {
  25.             p++;
  26.             a /= 2;
  27.         }
  28.     }
  29.     else if (a<1)
  30.     {
  31.         while (a < 1)
  32.         {
  33.             p--;
  34.             a *= 2;
  35.         }
  36.     }
  37.     E = 127 + p;
  38.  
  39.     for (i = 0; i<8; i++)
  40.     {
  41.         reg[8 - i] = E % 2;
  42.         E /= 2;
  43.     }
  44.  
  45.     //Mantisa
  46.     if (a >= 1)
  47.         r = a - 1;
  48.     else r = a;
  49.  
  50.     for (i = 9; i<32; i++)
  51.     {
  52.         r = r * 2;
  53.         if (r<1)
  54.             reg[i] = 0;
  55.         else
  56.         {
  57.             reg[i] = 1;
  58.             r -= 1;
  59.         }
  60.     }
  61.  
  62.     //Ispis
  63.     printf("\n\n");
  64.     for (i = 0; i<32; i++)
  65.     {
  66.         printf("%d", reg[i]);
  67.         if (i % 4 == 0)
  68.             printf("\t");
  69.     }
  70.     printf("\n\n");
  71.     return 0;
  72. }
  73.  
  74. //4. Dekadski u binarni
  75. //int main()
  76. //{
  77. //
  78. //  long int cijeliBroj, ostatak, rez;
  79. //  int binaryNumber[100], i = 1, j;
  80. //
  81. //  printf("Enter any decimal number: ");
  82. //  scanf("%ld", &cijeliBroj);
  83. //
  84. //  rez = cijeliBroj;
  85. //
  86. //  while (rez != 0)
  87. //  {
  88. //      binaryNumber[i++] = rez % 2;
  89. //      rez = rez / 2;
  90. //  }
  91. //
  92. //  printf("Equivalent binary value of decimal number %d: ", cijeliBroj);
  93. //  for (j = i - 1; j> 0; j--)
  94. //      printf("%d", binaryNumber[j]);
  95. //
  96. //  return 0;
  97. //}
  98.  
  99.  
  100. //3. Binarni u dekadski
  101. #include<stdio.h>
  102. #include<math.h>
  103. int main()
  104. {
  105.         int binarni[16], i, dekadski = 0, pom = 1;
  106.  
  107.         for (i = 0; i < 16; i++)
  108.         {
  109.                 printf("Unesite %d znamenku binarnog broja: ", i + 1);
  110.                 scanf("%d", &binarni[i]);
  111.         }
  112.         if (binarni[0] == 1)
  113.                 pom = -1;
  114.                
  115.         for (i = 0; i < 16; i++)
  116.         {
  117.                 if (binarni[i] == 0)
  118.                         binarni[i] = 1;
  119.                 else binarni[i] = 0;
  120.         }
  121.         do{
  122.                 if (binarni[16 - i] == 1)
  123.                         binarni[16 - i] = 0;
  124.                 else if (binarni[i] == 0)
  125.                         binarni[i] = 1;
  126.                 i++;
  127.         } while (binarni[i] == 0);
  128.  
  129.         for (i = 0; i < 16; i++)
  130.         {
  131.                 dekadski += binarni[i] * (pow(2, (double)(16 - i - 1)));
  132.         }
  133.  
  134.  
  135.         printf("\n %d\n", dekadski*pom);
  136.         return 0;
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement