[洛谷] - 高低位交换

P1100 高低位交换(位运算) 题目描述 给出一个小于2^{32}232的正整数。这个数可以用一个3232位的二进制数表示(不足3232位用00补足)。我们称这个二进制数的前1616位为“高位”,后1616位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。 例如,数13145201314520用二进制表示为0000 0000 0001 0100 0000 1110 1101 100... 阅读详情

题目描述

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

例如,数13145201314520用二进制表示为0000 0000 0001 0100 0000 1110 1101 100000000000000101000000111011011000(添加了1111个前导00补足为3232位),其中前1616位为高位,即0000 0000 0001 01000000000000010100;后1616位为低位,即0000 1110 1101 10000000111011011000。将它的高低位进行交换,我们得到了一个新的二进制数0000 1110 1101 1000 0000 0000 0001 010000001110110110000000000000010100。它即是十进制的249036820249036820。

输入输出格式

输入格式:

一个小于2^{32}232的正整数

输出格式:

将新的数输出

输入输出样例

注意 : 数据类型要使用unsigned类型;

思路 1 n 向右移动16位 与 左移动 16 进行或操作. 但是我写的很繁琐, 注意保存的数要使用 unsigned 类型;

我的代码:

#include <iostream>

using namespace std;

int main() {
    unsigned int n,t ;
    cin >> n;

    t = n << 16;
    n = n >> 16;

    n |= t;

    cout << n;

    return 0;
}

比较精简的代码:

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    unsigned long long x;
    cin>>x;
    cout<<((x&0x0000ffff)<<16|(x&0xffff0000)>>16)<<endl;//万无一失的做法
}

 

记录贴,高低位交换,字符串展开 高低位交换 题目描述 给出一个小于2^{32}2 32 的正整数。这个数可以用一个3232位的二进制数表示(不足3232位用00补足)。我们称这个二进制数的前1616位为“高位”,后1616位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。 例如,数13145201314520用二进制表示为0000 0000 0001 0100 0000 1110 1101 100000000000000101000000111011011000(添加了1111个前导00补足为3 阅读详情

相关推荐

【题解-洛谷】P1100 高低位交换

将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。将它的高低位进行交换,我们得到了一个新的二进制数。我们称这个二进制数的前。位的二进制数表示(不足。

写代码的犄角旮瘩 985

P1100 高低位交换

例如,数 13145201314520 用二进制表示为 0000 0000 0001 0100 0000 1110 1101 100000000000000101000000111011011000(添加了 1111 个前导 00 补足为 3232 位),其中前 1616 位为高位,即 0000 0000 0001 01000000000000010100;将它的高低位交换,我们可以得到一个新的数。(n>>16)+(n<<16)就是“我们称这个二进制数的前 16 位为“高位”,后 16 位为“低位”。

asdlkjhgfd的博客 455

高德地图JSAPI中旋转Marker点标签图片时候,且不旋转lable内容方法。

高德地图JSAPI中旋转Marker点标签图片时候,且不旋转lable内容方法

weixin_42960380的博客 2500

洛谷部分题解

部分题面对题解 p1100: 题目描述 给出一个小于2^{32}232的正整数。这个数可以用一个3232位的二进制数表示(不足3232位用00补足)。我们称这个二进制数的前1616位为“高位”,后1616位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。 例如,数13145201314520用二进制表示为0000 0000 0001 0100 0000 1110 1101 100000000000000101000000111011011000(添加了11

m0_60512979的博客 1468

南京邮电大学电工电子实验(二)复习一

本文给电工电子实验(二)的复习进行一些知识点的提醒

YOUXISUN的博客 2958

SAP MM | 采购的自动寻源:货源清单(ME01)与配额协议(MEQ1)的应用与 MRP 逻辑

SAP MM模块中,当物料有多个供应商时,MRP生成的采购申请常因"固定供应商"字段为空而无法自动发单。系统寻源优先级为:配额协议>货源清单>采购信息记录。解决方案包括:1)货源清单指定唯一固定供应商;2)配额协议按比例精准拆分;3)配额协议长期分配更推荐。手工创建采购申请时配额协议无效。建议优先使用货源清单Fix标识或配额分配功能,避免拆分导致的单据碎片化。

RiverRia的专栏 826

【题解】洛谷P1100高低位交换

题目 洛谷P1100高低位交换 题解 很显然是一个位运算题,只要取出前十六位(高位)右移,再取出后十六位(低位)左移即可。 代码 #include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { ll num; scanf("%lld",&num); num=((num&65535)<<16)|(num>>16); p

zjgmartin的博客 278

ArcMap投影变换避坑指南:为什么你的坐标转换总出错?常见问题解析与解决方案

本文深入解析ArcMap中坐标转换与投影变换的核心区别与常见陷阱。针对坐标转换总出错的问题,从混淆“定义投影”与“投影变换”、栅格数据重采样选择、矢量数据地理变换参数设置等关键环节,提供清晰的避坑指南与实战解决方案,帮助用户确保空间数据的精确匹配。

weixin_29210727的博客 356

洛谷P1100 高低位交换

先讲讲我的思路,我的就是纯模拟,先读入数,然后用转成二进制用字符串s存储,之 后反转,再新开个字符串t,将t补0使得长度之和为32,然后加入到s字符串中,最后转换成二进制(纯傻瓜式做法),:对于这道题目,我们只需要将原数的后16位前移至新数的前16 位,将原数的前16位前移至新数的后16位,这道题目就做完了,用到了位运算非常巧妙。

2302_79431881的博客 440

完整复盘【避雷jd文职某岗位】潍坊青州hhj(据说未来搬到天津),助理实验师岗位,三人进面,面试全部不及格,空头岗位!像这种情况,该单位很多 | 附个人完整备考背诵题目 | 世间一场梦,不会再考这个了

本文以博主本人报考jun dui文职,从报考、备考、考试、查成绩到资格审查、面试,全程亲身经历,给想要报考该内容的朋友们一些小的参考。祝你顺利上岸!完整复盘【避雷jd文职某岗位】潍坊青州hhj(据说未来搬到天津),助理实验师岗位,三人进面,面试全部不及格,空头岗位!像这种情况,该单位很多 | 附个人完整备考背诵题目 | 世间一场梦,不会再考这个了

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 246

LeRobot 入门教程(四)SO-101机械臂组装教程

《SO-101机器人组装与配置指南》详细介绍了旗舰机器人SO-101的完整搭建流程。从获取3D打印零件、安装LeRobot软件和FeetechSDK,到分步组装6个关节的机械臂结构(含夹爪/手柄选项),指南提供了清晰的螺丝规格和安装位置说明。重点包括:电机ID/波特率设置方法、USB端口识别技巧、领导者/跟随者臂的校准流程,以及故障排查建议。完成组装后,用户可通过配套Python脚本校准机器人,为后续的自主学习任务做好准备。文档附有视频演示和技术支持通道,确保用户顺利完成机器人部署。

2506_90492529的博客 2582

C语言练习题--洛谷P1100 高低位交换(又是位运算)

例如,数 1314520 用二进制表示为 00000000000101000000111011011000(添加了 11 个前导 0 补足为 32 位),其中前 16 位为高位,即 0000000000010100;将它的高低位进行交换,我们得到了一个新的二进制数 00001110110110000000000000010100。这个数可以用一个 32 位的二进制数表示(不足 32 位用 0 补足)。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。给出一个小于 232(

2401_83327023的博客 314

基于Simulink的无迹卡尔曼滤波(UKF)SOC高精度估计仿真

本文介绍了基于Simulink的无迹卡尔曼滤波(UKF)在电池SOC高精度估计中的应用。通过无迹变换替代传统EKF的线性化过程,UKF显著提升了SOC估计精度,在强非线性工况下误差可控制在0.5%以内。文章详细阐述了UKF的核心原理,包括Sigma点生成、状态预测和观测更新等关键步骤,并基于Thevenin等效电路模型构建了完整的UKF SOC估算系统。通过Simulink建模和仿真验证,展示了UKF在大电流脉冲、变温工况等复杂场景下的优异性能,其动态响应时间小于30ms,长期累积误差低于0.7%。研究为储

amy_mhd的博客 124

洛谷 P1100 高低位交换

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

HJ921004的博客 553

【ARFoundation自学04】AR Tracked Image 图像追踪识别与对应类的调用

1.添加组件 2.创建图像识别库 3.创建识别后追踪的物体(UI、模型等)

leoysq的博客 2560

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

P1100 高低位交换[洛谷AC]

一开始费劲巴拉想出一堆代码,还RE了,直到知道无符号整数的位运算。

simba_2011的博客 447

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

P1100 高低位交换洛谷c++题解

P1100 高低位交换 题目描述 给出一个小于2322^{32}232的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。我们称这个二进制数的前16位为“高位”,后16位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。 例如,数1314520用二进制表示为0000 0000 0001 0100 0000 1110 1101 1000(添加了11个前导0补足为32位),其中前16位为高位,即0000 0000 0001 0100;后16位为低位,即

YCU_poison的博客 1635

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

高低位交换(洛谷)

这里的注意点是数据大小范围是32位,和int型相同,不过int型还有一bit是用来存储符号的,即使输入值小于int可存储范围,移位置后也可能出现一些问题。例如一个二进制数的第16位是1,移动后符号位就变成一个负数标识,最后读出的数就成了一个负数,并且由于负数的存储是采用补码形式最后结果会相差十万八千里。根据题目所述,将一个十进制的数转化为二进制,并更改二进制数的位置得到一个新的十进制数。将它的高低位交换,我们可以得到一个新的数。将它的高低位进行交换,我们得到了一个新的二进制数。位的二进制数表示(不足。

m0_56053705的博客 1130
上一篇: [洛谷] - P2077 红绿灯
下一篇: [leetcode] 9. Palindrome Number
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值