- #include <stdio.h>
- int printf2(int a)
- {
- int count = 0;
- for (int n=31; n>=0 ; n--)
- {
- printf("%d",(a>>n)&(1));//从第一位向后面依次和1 取 与;
- if ((a>>n)&(1)) {
- count++;
- }
- if ((n) % 4 == 0 ) {
- printf(" ");
- }
- }
- printf("\n");
- return count;
- }
- int main ()
- {int a = 3;
- printf("%d在内存中的储存形式为\n",a);
- int no = printf2(a);
- printf("其中有%d个1\n",no);
- return 0;
- }
复制代码 |