位演算数的运算

位运算数的运算

将十进制数转化为16进制和2进制

#include<stdio.h>
void exchan(int b);
int main()
{
int a;
printf("input a=");
scanf("%d",&a);
printf("%d的十六进制数为%x",a,a);
//printf("%d的十六进制数为%x\n"a,a);
printf("%d的二进制形式输出\n",a);
exchan(a);
return 0;
}
void exchan(int b)
{
int i,t;
t=1;
t=t<<31;
for(i=1;i<=32;i++)
{
	putchar(b&t?'1':'0');
	b=b<<1;

	if(i%8==0)
		printf("  ");
}
printf("\n");
}

上面转换为二进制的过程中for循环是怎么回事?如果将某个数与10000000  00000000进行运算,它是怎样输出二进制数的?在计算机内是怎样计算的?


位演算数的运算