我写了一个将数字转换为二进制的函数。但是不知道为什么它不能正常工作,输出结果总是错误的。虽然输出结果是以二进制格式呈现的,但是对于以零结尾的二进制数,它总是给出错误的结果(至少我注意到了这一点...)
unsigned long long to_binary(unsigned long long x)
{
int rem;
unsigned long long converted = 0;
while (x > 1)
{
rem = x % 2;
x /= 2;
converted += rem;
converted *= 10;
}
converted += x;
return converted;
}
请帮我修复它,这真的很令人沮丧。
谢谢!