注意事项:
要补足32位后再循环移位,题目中没有说明。
参考代码:
//00000000000000000000001111111111 //00000000001111111111000000000000 //循环移位:右边的一个数移动到左边 #include<bits/stdc++.h> using namespace std; int main() { deque<int>d;//支持随机访问,不支持d.size() int a,n; cin>>a>>n; for(int i=31;i>=0;i--) { d.push_back(a>>i&1); } while(n--) { d.push_front(d.back()); d.pop_back(); } int ci=0,sum=0; for(int i=31;i>=0;i--) { sum+=d[i]*pow(2,ci); ci++; } cout<<sum<<endl; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:648 |
C语言训练-自由落体问题 (C语言代码)浏览:650 |
sizeof的大作用 (C语言代码)浏览:1590 |
简单的a+b (C语言代码)浏览:457 |
简单的a+b (C语言代码)浏览:574 |
1048题解(读入回车问题)浏览:628 |
输出九九乘法表 (C语言代码)浏览:1172 |
JAM计数法 (C语言代码)浏览:721 |
明明的随机数 (C语言代码)浏览:965 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:584 |