c语言打印十六进制数

如题所述

在C语言中,打印16进制可以使用printf的%x格式。

打印二进制数并没有现成的格式数值,只能自行编写函数打印。

以下是一个打印二进制值的函数,通过位操作,逐位判断二进制值,并输出对应的值。

默认高位0不输出。

void print_bin(int n)
{
    int l = sizeof(n)*8;//总位数。
    int i;
    if(i == 0)
    {
         printf("0");
         return;
     }
    for(i = l-1; i >= 0; i --)//略去高位0.
    {
        if(n&(1<<i)) break;
    }

    for(;i>=0; i --)
        printf("%d", (n&(1<<i)) != 0);
}
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网