欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
}