网站建设需要什么岗位平台推广销售话术
网站建设需要什么岗位,平台推广销售话术,个人网站页面模板,做网站要开发嘛#先看题目
题目描述
给出一个小于 的非负整数。这个数可以用一个 32 位的二进制数表示#xff08;不足 32 位用 0 补足#xff09;。我们称这个二进制数的前 16 位为“高位”#xff0c;后 16 位为“低位”。将它的高低位交换#xff0c;我们可以得到一个新的数。试问这…#先看题目
题目描述
给出一个小于 的非负整数。这个数可以用一个 32 位的二进制数表示不足 32 位用 0 补足。我们称这个二进制数的前 16 位为“高位”后 16 位为“低位”。将它的高低位交换我们可以得到一个新的数。试问这个新的数是多少用十进制表示。
例如数 13145201314520 用二进制表示为 0000 0000 0001 0100 0000 1110 1101 1000添加了 11 个前导 0 补足为 32 位其中前 16 位为高位即 0000 0000 0001 0100后 16 位为低位即 0000 1110 1101 1000。将它的高低位进行交换我们得到了一个新的二进制数 0000 1110 1101 1000 0000 0000 0001 0100。它即是十进制的 249036820249036820。
输入格式
一个小于 的非负整数
输出格式
将新的数输出
输入输出样例
输入 #1
1314520输出 #1
249036820
题目链接https://www.luogu.com.cn/problem/P1100
#思路
1、十进制转二进制 int m32,w0;cinn;while(n){a[m--]n%2;//转二进制存入数组n/2;}
2、高低位交换
偷懒这一部可以和下一步合并
3、二进制转十进制 for(int i16;i1;i--){//先算后16位a[i]*pow(2,w);w;ansa[i];}for(int i32;i17;i--){//再算前16位a[i]*pow(2,w);w;ansa[i];}
#最后附上完整代码
#includebits/stdc.h
using namespace std;
int a[33];
int main()
{unsigned int n,ans0;int m32,w0;cinn;while(n){a[m--]n%2;n/2;}for(int i16;i1;i--){a[i]*pow(2,w);w;ansa[i];}for(int i32;i17;i--){a[i]*pow(2,w);w;ansa[i];}coutans;return 0;
}
给个赞吧Orz
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89722.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!