模拟10进制转化为-2进制的过程。就是一个数n/-2然后取其余数,因为是二进制,所以余数要为正的。所以我们要处理一下数据,把计算出来的余数取其绝对值。
对于负数我们直接除 -2 会得出错误的结果,例如-3/-2=1余数为-1,余数为负数。所以要先用被除数-3 减去余数 1 再除,此时就可被-2整除,即-3➗-2 = 2 余 1才对。
在解题时,我们先求出正的余数,然后用这个数减去余数,之后再除以-2的话就可以算出正确的结果了。
C/C++代码如下:
#include<bits/stdc++.h>
using namespace std;...