P1100 高低位交换

题目描述

给出一个小于2^32的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。我们称这个二进制数的前16位为“高位”,后16位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。

例如,数1314520用二进制表示为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。它即是十进制的249036820。

输入输出格式

输入格式:

一个小于2^32的正整数

输出格式:

将新的数输出

输入输出样例

输入样例#1: 复制

1314520

输出样例#1: 复制

249036820

二进制转化问题
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 40
#define LL long long
using namespace std;
long long ans;
int n,s,a[N],b[N];
int read()
{int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();return x*f;
}
int main()
{n=read();while(n){a[++s]=n%2;n/=2;}if(s<32) a[++s]=0;s=0;for(int i=1;i<=32;i++)b[i]=a[32-i+1];for(int i=17;i<=32;i++)ans=ans*2+(LL)b[i];for(int i=1;i<=16;i++)ans=ans*2+(LL)b[i];printf("%lld",ans);return 0;
}

转载于:https://www.cnblogs.com/z360/p/7846897.html

洛谷——P1100 高低位交换相关推荐

  1. P1100高低位交换

    位运算的运用,在这个题上有了很强的体现,读入整型后是以二进制的形式存储,直接左移加右移交换即可. 代码实现: #include<bits/stdc++.h> using namespace ...

  2. c语言怎么把字节的高低位互换,算法——字节高低位交换

    问题 对一个字节数据,逐个交换其高低位,例如11010001,经过0-7,1-6,2-5,3-4对应位的交换,变成10001011 . 解决思路 对于该问题,我们最先想到的是对原字节通过移位操作来逐位 ...

  3. 二进制高低位交换の琐事(洛谷P1100题题解,Java语言描述)

    题目要求 P1100题目链接 分析 要求其实还是比较明确的,就是给一个int数据,将其变成二进制表示(32位),前16位整体和后16位整体交换位置,内部不变,再将新的二进制数据重新变成数值输出. 这题 ...

  4. 洛谷 深基 第4部分 基础数学与数论(19-21课)

    洛谷 深基 第4部分 基础数学与数论  第19章 位运算与进制转换 P1143 进制转换 https://www.luogu.com.cn/problem/P1143 洛谷P1143 进制转换的Pyt ...

  5. 【数学1】基础数学问题 - 题单 - 洛谷

    这里写目录标题 [[数学1]基础数学问题 - 题单 - 洛谷](https://www.luogu.com.cn/training/117) [P1143 进制转换](https://www.luog ...

  6. 基础数学问题1(洛谷)

    进制转换(2~16任意相互转换) 题目描述 请你编一程序实现两种不同进制之间的数据转换. 输入格式 共三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进制数,若n&g ...

  7. c语言字节高低位转换,协议中遇到字节高低位转换的问题如何实现

    最近的协议中遇到字节高低位转换的问题,于是偷懒上网查看,遇到类似的问题,也认识一个新的名字,叫做蝶式交换 问题是这样子的 协议要求字节低位在左,高位在右,对每个字节做转换处理,逐个交换其高低位,例如1 ...

  8. 【题解】洛谷P1066 [NOIP2006TG] 2^k进制数(复杂高精+组合推导)

    洛谷P1066:https://www.luogu.org/problemnew/show/P1066 思路 挺难的一道题 也很复杂 满足题目要求的种数是两类组合数之和 r的最多位数m为 w/k(当w ...

  9. 浮点高精求和(洛谷P2393题题解,弃坑Java拥抱C++)

    题目要求 P2393题目链接 分析 这题实则是变态的大浮点加法,众所周知的是浮点不精确,按照IEEE754来. 原先使用Java写的,但下面分析一下为什么不能用Java写. 这代码本来是这么写的: i ...

最新文章

  1. js获取已知scripts中是否存在某变量_JS全局变量是如何工作的?
  2. sdcms的模板解析引擎,一个非常简单和实用的CMS
  3. open Session In View和过滤器配置
  4. 杭电1430康托 bfs(java)
  5. [CF917D]Stranger Trees[矩阵树定理+解线性方程组]
  6. NYOJ 661 亲亲串
  7. 数据结构算法——判断表达式中的括号是否匹配
  8. [UVALive 3971] Assemble
  9. Excel 的点点滴滴
  10. frps 多个_同时穿透多个内网web服务,提示冲突
  11. 昆计计算机管理专修学院,昆明昆计高中的师资怎么样,学校是民办还是公办的...
  12. 【Elasticsearch】7.9 单字段支持的最大字符数
  13. 设计灵感|拼贴风格海报设计,优秀案例让你它好看在哪里?
  14. adprw指令通讯案例_超实用,非常典型的Modbus通讯项目案例,三分钟学会
  15. 查询结果不跳转页面_商标检索查询的流程步骤是什么?
  16. 详解Spring中的CharacterEncodingFilter--forceEncoding为true在java代码中设置失效--html设置编码无效...
  17. wps中下划线怎么也去不掉_黑头究竟怎么形成的?为什么总是去不掉?那是因为你用错方法...
  18. pktgen-dpdk 使用笔记
  19. 只有程序员才能读懂的三国演义(一)
  20. PAT A1038 Recover the Smallest Number ——醉里挑灯看剑

热门文章

  1. 第 5 章 虚拟机栈
  2. debian安装什么mysql_安装多个mysql实例(debian版本)
  3. java 日期 年数_关于java:为什么不赞成使用“新日期(整数年,整数月,整数日)”?...
  4. mysql打开闪退 ini_解决MySql客户端秒退(找不到my.ini)
  5. python取出满足条件的行_numpy ndarray 取出满足特定条件的某些行实例
  6. in function ‘int main()’_FIND_IN_SET 及IN 处理逗号间隔的字符串参数
  7. java服务 重启_Shell脚本自动重启Java服务
  8. 100%在CSS中是什么意思?
  9. 分析reduce()的原理
  10. html5数组删除相同数据,js数组相减简单示例【删除a数组所有与b数组相同元素】...