【发布时间】:2011-02-28 16:05:20
【问题描述】:
我做了一个将数字转换为二进制的函数。由于某种原因,它不起作用。它给出了错误的输出。输出是二进制格式,但对于以零结尾的二进制数,它总是给出错误的结果(至少这是我注意到的......)
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;
}
请帮我解决它,这真的很令人沮丧..
谢谢!
【问题讨论】:
-
这真的很令人沮丧,因为数字已经是二进制形式了,不需要转换。你可以做的是打印它的部分,但互联网上有大量的例子。
-
您正在做的是将十进制数转换为看起来像二进制但值错误的十进制数。你的家庭作业到底是什么?
-
这不是家庭作业。我想在这里学习一些东西。我知道数字已经是二进制的,但它们显示为十进制。我只想将它们显示为二进制,为此我需要将十进制表示转换为二进制。还是我?如果有办法将它们显示为二进制表示,我真的很想看看。谢谢