Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过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