1017. Convert to Base -2 Poison 2024-04-28 Math 1234567891011121314151617181920212223class Solution { public String baseNeg2(int n) { if (n == 0) { return "0"; } StringBuilder sb = new StringBuilder(); while (n != 0) { int x = n % (-2); n /= (-2); if (x == -1) { // 注意 Java 取余结果的符号与第一个操作数的符号相同,(-1) % (-2) = (-1) // 调整前:-1 = (-2) * 0 + (-1) // 调整后:-1 = (-2) * 1 + 1 x = 1; // 此处将余数从 -1 调整为 1 等于减去了 -2,所以下面的商要增加 1 个 -2 n++; } sb.append(x); } return sb.reverse().toString(); }} References1017. Convert to Base -2Java: Remainder (modulo) operator with negative numbers