#include <iostream>
using namespace std;
bool bin(int n) {
if (n == 0) return true;
while (n > 0) {
if (n % 10 != 0 && n % 10 != 1) {
return false;
}
n /= 10;
}
return true;
}
int Dec(int n) {
int dec = 0;
while (n > 0) {
dec = dec * 2 + n % 10;
n /= 10;
}
return dec;
}
int main() {
int number;
cout << "Введите число в двоичной системе счисления: ";
cin >> number;
if (!bin(number)) {
cout << "Ошибка" << endl;
} else {
int result = Dec(number);
cout << hex << result << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpib29sIGJpbihpbnQgbikgewogICAgaWYgKG4gPT0gMCkgcmV0dXJuIHRydWU7ICAgICAgICAKICAgIHdoaWxlIChuID4gMCkgewogICAgICAgIGlmIChuICUgMTAgIT0gMCAmJiBuICUgMTAgIT0gMSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgbiAvPSAxMDsKICAgIH0KICAgIHJldHVybiB0cnVlOwp9CmludCBEZWMoaW50IG4pIHsKICAgIGludCBkZWMgPSAwOwogICAgd2hpbGUgKG4gPiAwKSB7CiAgICAgICAgZGVjID0gZGVjICogMiArIG4gJSAxMDsKICAgICAgICBuIC89IDEwOwogICAgfQogICAgcmV0dXJuIGRlYzsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgbnVtYmVyOwogICAgCiAgICBjb3V0IDw8ICLQktCy0LXQtNC40YLQtSDRh9C40YHQu9C+INCyINC00LLQvtC40YfQvdC+0Lkg0YHQuNGB0YLQtdC80LUg0YHRh9C40YHQu9C10L3QuNGPOiAiOwogICAgY2luID4+IG51bWJlcjsKICAgIAogICAgaWYgKCFiaW4obnVtYmVyKSkgewogICAgICAgIGNvdXQgPDwgItCe0YjQuNCx0LrQsCIgPDwgZW5kbDsKICAgIH0gZWxzZSB7CiAgICAgICAgaW50IHJlc3VsdCA9IERlYyhudW1iZXIpOwogICAgICAgIGNvdXQgPDwgaGV4IDw8IHJlc3VsdCA8PCBlbmRsOyAgCiAgICB9CiAgICAKICAgIHJldHVybiAwOwp9