使用字符串将dec-number转换为二进制代码

时间:2017-11-30 22:21:29

标签: c arrays string binary

我在制作一个节目。您可以输入正常数字,程序应首先以二进制代码转换它,然后将其复制到字符串中。如果我开始编程并输入一个数字,则没有任何反应。

 #include <stdio.h>
#include <stdlib.h>

int main()
{   int i;
    unsigned short input;
    char output [18] = "";

    printf("enter a positive number\n");

    scanf("%hu", &input);

    for (i= 16; 1; i-- )
       {
          output [i] =  input % 2;

        input = input / 2;

       }

     puts(output);


    return 0;
}

1 个答案:

答案 0 :(得分:0)

output应该是NUL终止的,因此short int需要16个字节,空字符需要1个

char output [17];

将<{1}}的ASCII值添加到结果中以获取00

1

最后添加空字符:

for(i = 16; i >= 0; i--)
{
    output[i] = '0' + input % 2;
    input = input / 2;
}

或者您可以使用移位运算符

output[16] = 0;