Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using std::cout;
- using std::cin;
- using std::endl;
- void main()
- {
- const int size = 32; // на самом деле тут можно обойтись значением 19, потому как в long long int можно ввести не более 19 разрядов
- long long int bin = (setlocale(LC_ALL, "Russian"), cout << "Введите двоичное число -> ", cin >> bin, cout << endl, bin); // ввод также можно организовать посредством массива (неудобно) или строк (не проходили)
- int power[size], mod = 0, dec = 0, pow = 1;
- for (int i = 0; i < size - 1; i++) // запись степеней 2 в массив power
- {
- power[i] = pow;
- pow *= 2;
- }
- int i = 0;
- while (bin != 0)
- {
- mod = bin % 10;
- bin /= 10; // сокращение двоичного числа на разряд
- dec = dec + (mod * power[i]); // умножение последнего разряда двоичного числа на 2 в степени от 1 и выше
- i++; // счетчик для степеней двойки
- }
- cout << dec << endl << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement