如何通过 printf 打印二进制数 [英] How to print binary number via printf

查看:78
本文介绍了如何通过 printf 打印二进制数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能重复:
是否有 printf 转换器可以以二进制格式打印?

这是我的程序

#include<stdio.h>
int main ()
{
    int i,a=2;
    i=~a;
    printf("a=%d
i=%d
",a,i);

    return 0;
}

输出是

a=2
i=-3

我希望它以二进制形式打印.有 %x、%o、%d 分别代表十六进制、八进制和十进制数,但是 printf 中打印二进制是什么?

I want this to print in binary. There are %x, %o, and %d which are for hexadecimal, octal, and decimal number, but what is for printing binary in printf?

推荐答案

printf() 不直接支持.相反,您必须创建自己的函数.

printf() doesn't directly support that. Instead you have to make your own function.

类似:

while (n) {
    if (n & 1)
        printf("1");
    else
        printf("0");

    n >>= 1;
}
printf("
");

这篇关于如何通过 printf 打印二进制数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆