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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. void test2(){

  2.     //提示用户输入
  3.     printf("请输入一个整数:\n");
  4.    
  5.     //定义变量记录用户的输入
  6.     int getResult = 0;
  7.     int result = 0;
  8.     int n = 0;
  9.    
  10.     //接收用户输入的值
  11.     scanf("%d%*c%d",&getResult,&n);
  12.    
  13.     if (n > 0) {
  14.         //右移
  15.         for (int i = 0; i < 32; i++) {
  16.             
  17.             int result = getResult;
  18.             
  19.             if (i < n) {
  20.                
  21.                 //取对应右移位置的数值
  22.                 result = result >> (n - i -1) & 1;
  23.                
  24.             }else{
  25.                  //输出原来最高位的数值
  26.                  result = (result >> (31 - i + 1)) & 1;

  27.             }
  28.             //输出每个位上面的数字
  29.             printf("%d",result);
  30.         }
  31.         printf("\n");
  32.         
  33.     }else if (n < 0){
  34.          n *= -1;
  35.    
  36.         //左移
  37.         for (int i = 0; i < 32; i++) {
  38.             
  39.             int result = getResult;
  40.             
  41.             if (i < n) {
  42.                
  43.                 //取对应左移位置的数值
  44.                 result = result >> (n - i -1) & 1;
  45.                
  46.             }else{
  47.                 //输出没被切掉的值
  48.                 result = (result >> (31 - n)) & 1;
  49.                
  50.             }
  51.             //输出每个位上面的数字
  52.             printf("%d",result);
  53.         }
  54.         printf("\n");
  55.         
  56.     }else{
  57.         if (n == 0) {
  58.            
  59.             //不移动
  60.             for (int i = 0; i < 32; i++) {
  61.                
  62.                 result = getResult;
  63.                 result = result >> (31 - i) & 1;
  64.                 printf("%d",result);
  65.                
  66.             }
  67.             printf("\n");
  68.         }
  69.     }
  70. }
复制代码

点评

神速,巴神就是巴神  发表于 2015-4-17 21:02

评分

参与人数 2黑马币 +8 收起 理由
夜空守望者 + 5 霸王龙,就是霸气
365616804 + 3 赞一个!

查看全部评分

2 个回复

倒序浏览
这是你自己做的么
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马