# ZeroJudge - b562: 2.神奇的「負二進位表示法」 ### 題目連結:https://zerojudge.tw/ShowProblem?problemid=b562 ###### tags: `ZeroJudge` `模擬` ```cpp= #include <iostream> #include <string> using namespace std; static const auto Initialize = [] { cin.sync_with_stdio(false); cin.tie(nullptr); return nullptr; }(); int main() { int decimal; string binary; while (cin >> binary) { decimal = 0; for (int i = 0; i != binary.size(); ++i) if (binary[i] == '1') { if ((binary.size() - i) & 1) decimal += (1 << (binary.size() - i - 1)); else decimal -= (1 << (binary.size() - i - 1)); } cout << decimal << '\n'; } } ```