c语言输出二进制
程序员文章站
2022-03-01 13:33:32
...
c语言十进制输出二进制方法:
除2取余再倒序,比较麻烦
用位运算符&直接得知某一位是0是1更直接高效
# include <stdio.h>
void outBin(int a)
{
int len = sizeof(a)*8; //总位数
int i; //输出的位数
for (i=len-1; i>=0; i--) //去掉高位0
{
if(a&(1<<i)) break; //将1左移i位并与n的每一位相比较
}
if (i == -1)
{
printf("0");
return;
}
for (;i>=0; i--)
printf("%d", (a&(1<<i)) != 0); //按位与可以比较某一位上是0还是1
}
int main(void)
{
int a = 0x7fffffff;
outBin(a);
return 0;
}
上一篇: C语言 输出二进制数