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