Advertisement
HyperSensualNarwhal

BIN to DEC

Dec 22nd, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.18 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using std::cout;
  4. using std::cin;
  5. using std::endl;
  6.  
  7. void main()
  8. {
  9.     const int size = 32; // на самом деле тут можно обойтись значением 19, потому как в long long int можно ввести не более 19 разрядов
  10.  
  11.     long long int bin = (setlocale(LC_ALL, "Russian"), cout << "Введите двоичное число -> ", cin >> bin, cout << endl, bin); // ввод также можно организовать посредством массива (неудобно) или строк (не проходили)
  12.     int power[size], mod = 0, dec = 0, pow = 1;
  13.  
  14.     for (int i = 0; i < size - 1; i++) // запись степеней 2 в массив power
  15.     {      
  16.         power[i] = pow;
  17.         pow *= 2;
  18.     }
  19.  
  20.     int i = 0;
  21.  
  22.     while (bin != 0)
  23.     {
  24.         mod = bin % 10;
  25.         bin /= 10; // сокращение двоичного числа на разряд
  26.         dec = dec + (mod * power[i]); // умножение последнего разряда двоичного числа на 2 в степени от 1 и выше
  27.        
  28.         i++; // счетчик для степеней двойки
  29.     }
  30.  
  31.     cout << dec << endl << endl;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement