黑马程序员技术交流社区

标题: 应同学要求,将转化二进制代码优化,[9.4版] [打印本页]

作者: 1wang2huan    时间: 2015-9-4 23:10
标题: 应同学要求,将转化二进制代码优化,[9.4版]
  1. int main() {
  2.     int num = 0;
  3.     printf("请输入一个整数:\n");
  4.     scanf("%d",&num);
  5. // 如果是正数
  6.     if (num >= 0) {
  7.         for (int i = -1; i < 31  ; i++) {
  8.             if ((i+1)%8 == 0) {
  9.                 printf(" ");
  10.             }
  11.             int changeNum = num << i;
  12. //
  13.             printf("%d",((changeNum)&1073741824)/1073741824);
  14.         }
  15.    
  16.     }
  17.     else{
  18. //        如果是负数
  19.         num = 0-num;
  20.         for (int i = -1; i < 31  ; i++) {
  21.             if ((i+1)%8 == 0) {
  22.                 printf(" ");
  23.             }
  24. //            第一个数字改成 1,并跳出循环
  25.             if (i == -1) {
  26.                 printf("1");
  27.                 continue;
  28.             }
  29.             int changeNum = num << i;
  30. //1073741824 = 2的31次方
  31.             printf("%d",((changeNum)&1073741824)/1073741824);
  32.         }
  33.     }
  34.     return 0;
  35. }
复制代码

作者: TTsu    时间: 2015-9-4 23:18
谢谢强哥,太崇拜你了,好好看你的代码认真学习下




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