https://noobdream.com/News/new/43/
入门经典
简单模拟
进制转换类问题
负二进制
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main() {
int i;
while (scanf("%d", &i) != EOF) {
int remain[100] = { 0 };
int num = 0;
while (1) {
remain[num] = i % -2;
if (remain[num] == -1) {
remain[num] = 1;
i = i / -2 + 1;
}
else {
i = i / -2;
}
num++;
if (i == 0) {
break;
}
}
for (int k = num - 1; k >= 0; k--) {
printf("%d", remain[k]);
}
printf("\n");
}
return 0;
}