CPP-负进制转换

负进制转换

class Solution {
public:
    string baseNeg2(int n) {
        //与正数的进制转换相类似,但需要保证余数是正数s
        if(!n) return "0";
        int chushu = -2;
        string res;
        while(n){
            int t1 = n/chushu;
            //需要保证余数是正数
            if(n-t1*chushu<0){
                t1++;
            }
            int t = n-t1*chushu;
            n=t1;
            res += '0' + t;
        }
        reverse(res.begin(),res.end());
        return res;
    }
};
posted @ 2022-06-23 15:56  ghosteq  阅读(10)  评论(0编辑  收藏  举报