A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  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. }
复制代码

1 个回复

倒序浏览
谢谢强哥,太崇拜你了,好好看你的代码认真学习下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马