每日一题1017. 负二进制转换
题目链接:https://leetcode.cn/problems/convert-to-base-2/
1.思路
和正常的进制转换一样,注意的是需要保证余数不为负,而Java的%符号不能保证这一点
public String baseNeg2(int n) {
if (n==0) return "0";
StringBuilder stringBuilder = new StringBuilder();
while(n!=0){
int count = n/-2;
int mod = n %-2;
if (mod<0){
count += 1;
mod = mod + 2;
}
n = count;
stringBuilder.append(mod);
}
return stringBuilder.reverse().toString();
}