Nagy_Szabolcs

atalakitas 1

Sep 13th, 2019
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5.  
  6. void ki(int t[],int n) {
  7.     for (int i = 0; i < n; i++)
  8.         cout << t[i];
  9. }
  10.  
  11. void fordit(int t[], int n) {
  12.     int temp;
  13.     for (int  i = 0; i < n/2; i++) {
  14.         temp = t[n - 1 - i];
  15.         t[n - i - 1] = t[i];
  16.         t[i] = temp;
  17.     }
  18. }
  19.  
  20. void dec_bin(float num) {
  21.     float egesz = floor(num);
  22.     float tizedes = num - egesz;
  23.     int temp;
  24.  
  25.     int egesz_dec[1000] = {};
  26.     int i = 0;
  27.    
  28.     while (egesz >= 1) {
  29.         temp = egesz / 2;
  30.  
  31.         if ((floor(egesz)/2) - temp > 0) {
  32.             egesz_dec[i++] = 1;
  33.         }
  34.         else {
  35.             egesz_dec[i++] = 0;
  36.         }
  37.  
  38.         egesz /= 2;
  39.     }
  40.     fordit(egesz_dec, i);
  41.  
  42.     int tizedes_dec[1000] = {};
  43.     int j = 0;
  44.  
  45.     while (tizedes < 1) {
  46.         tizedes *= 2;
  47.         tizedes_dec[j++] = floor(tizedes);
  48.  
  49.         if (tizedes > 1) {
  50.             tizedes = tizedes - floor(tizedes);
  51.         }
  52.     }
  53.     ki(egesz_dec, i);
  54.     cout << '.';
  55.     ki(tizedes_dec, j);
  56. }
  57.  
  58. int main()
  59. {
  60.     float valos = 0;
  61.     cin >> valos;
  62.  
  63.     dec_bin(valos);
  64. }
Advertisement
Add Comment
Please, Sign In to add comment