如何把一个整数转换成二进制

下面介绍一种把键盘输入的整数转换成二进制的方法:程序如下:

#include <stdio.h>

void int2bin1(int num)
{
    int i;
    
    for(i = 1; i < 33; i++)
    {
       if((unsigned int)(num & 0x80000000) == (unsigned int)(0x80000000))
       {
           printf("1");
       }
       else
       {
           printf("0");
       }
       
       num = num << 1; 
       
       if(i % 4 ==0)
       {
       	   printf(" ");
	   }
    }
}

int main()
{
    int num;
    
    printf("Please input number:
");
    scanf("%d",&num);

    int2bin1(num);
    
    return 0;
}

首先我们在主函数中由键盘输入一个整数 num, 然后我们把整数 num的值传递给 int2bin函数(函数作用是把整数转化为二进制的形式输出)

在int2bin 函数中主要起作用的是if((unsigned int)(num & 0x80000000) == (unsigned int)(0x80000000))

这个语句,是在把十六进制表示的0x80000000和传递过来的num 的值进行位运算 &;

以输入的num = 5

经验分享 程序员 微信小程序 职场和发展