如何把一个整数转换成二进制
下面介绍一种把键盘输入的整数转换成二进制的方法:程序如下:
#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
