位运算:
& 与
| 或
^ 异或
~ 非
<< 左移一位 = 乘2
>> 右移一位 = 除以2
求二进制数中有多少个1程序:
“#include <stdio.h>
int main()
{
int m ,n ;
scanf("%d",&m);
n=m;
int i = 1;
while( m/2 != 0)
{
m /= 2;
i++;
}
printf("%d\n", i);
int j, count = 0;
for(j = 0 ; j < i; j++ )
{
if((n & 1) == 1)
{
printf("1");
count++;
}
else{
printf("0");
}
n = n >> 1;
}
printf("\n");
printf("%d\n", count);
}
⑩进制转二进制程序:
#include<stdio.h>int main()
{
int b,i,c=0,a[30];
scanf("%d",&b);
while(b!=0)
{
i=b%2;
a[c]=i;
c++;
b=b/2;
}
c--;
for(;c>=0;c--)//倒序输出即为这个数字对应的二进制
{
printf("%d",a[c]);
}
printf("\n");
return 0;
}