c语言中如何打印二进制数?
1个回答
展开全部
在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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询