黑马程序员技术交流社区

标题: 进制与内存分析之三 [打印本页]

作者: lvguodong    时间: 2015-10-8 00:19
标题: 进制与内存分析之三
  1. #include<stdio.h>
  2. void lvGuoDong(int a);
  3. int main()
  4. {
  5.     int a;
  6.     printf("请输入一个正整数后会输出它的二进制形式!\n");
  7.     scanf("%d",&a);
  8.     lvGuoDong(a);
  9.     return 0;
  10. }
  11. void lvGuoDong(int a)
  12. {
  13.     //第一种
  14.     if (a>0) {
  15.         printf("0");
  16.     } else {
  17.         printf("1");
  18.     }
  19.     for (int i=sizeof(int)*8-2,b; i>=0; i--) {
  20.         b=a>>i&1;
  21.         printf("%d",b);
  22.         if (i%8==0) {
  23.             printf("\t");
  24.         }
  25.         
  26.     }
  27.     printf("\n");
  28.     //第二种(实现了但不好看)
  29.     if (a>0) {
  30.         printf("0");
  31.     } else {
  32.         printf("1");
  33.     }
  34.     for (int i=1,b; i<32; i++) {
  35.         b=a>>(31-i)&1;
  36.         printf("%d",b);
  37.         if (i%8==0) {
  38.             printf("\t");
  39.         }
  40.         
  41.     }
  42.     printf("\n");
  43.    
  44.    
  45.    
  46. }
复制代码
这个也可以用三目运算做出来,想一想怎么做?





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2