利用位运算 实现十进制转换二进制的一种想法及实现,请各位点评
程序代码:
#include <stdio.h>
//位操作函数 取1或者0
//source为目标操作数 pos 为从右向左的位置
int wgetbit(unsigned source,int pos)
{
return source>>(pos-1) & 1;
}
//判断二进制的位数
int wgetnum(unsigned source)
{
int s=0;
while(source>0)
{
s++;
source/=2;
}
return s;
}
int main()
{
unsigned n=3699;
int num=wgetnum(n);
for(int i=num;i>=1;i--)
printf("%d",wgetbit(n,i));
printf("\n");
return 0;
}









