易百教程

编写程序以二进制形式显示16位int值

编写程序以二进制显示16位int值

提示

16位整数的最大值为65535

参考实现代码

#include <stdio.h>

char *to_binary(int n);

int main()
{
    int input;

    printf("输入一个 0 - 65535 之间的数字值: ");
    scanf("%d",&input);
    printf("%d 的二进制形式为:%s\n",input,to_binary(input));
    return(0);
}

char *to_binary(int n)
{
    static char bin[17];
    int x;

    for(x=0;x<16;x++)
    {
        bin[x] = n & 0x8000 ? '1' : '0';
        n <<= 1;
    }
    bin[x] = '\0';
    return(bin);
}

编译并执行上面示例代码,得到以下结果:

hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
输入一个 0 - 65535 之间的数字值: 1688
1688 的二进制形式为:0000011010011000