Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
4年前关闭。
对于分配,我需要将16位十进制数字转换为二进制数字。因此,例如数字9应该显示0000000000001001。我的教授以以下代码开始了我们的工作:
我对从这里去哪里很困惑。我真的很感谢有人帮助我理解该怎么做,因为我对编码非常陌生。提前致谢。
这取自here。
注意:我假设您只想转换正小数。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
4年前关闭。
对于分配,我需要将16位十进制数字转换为二进制数字。因此,例如数字9应该显示0000000000001001。我的教授以以下代码开始了我们的工作:
void printBinary(short n)
{
}
int main(int argc, char **argv)
{
short n;
printf("Enter number: ");
scanf("%hd", &n);
printBinary(n);
}
我对从这里去哪里很困惑。我真的很感谢有人帮助我理解该怎么做,因为我对编码非常陌生。提前致谢。
最佳答案
尝试这个:
int printBinary(int integer)
{
int remainder, counter = 0, my_binary = 0;
while (integer > 0)
{
remainder = integer % 2;
my_binary += remainder * pow(10, counter);
integer /= 2;
counter++;
}
printf ("Binary is %d\n", my_integer");
}
这取自here。
注意:我假设您只想转换正小数。
关于c - 将十进制数转换为C中的二进制数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35261606/
10-11 15:26