【宏实现二进制奇偶位交换】
文章目录
- 一. 二进制奇偶位交换说明意思?
- 二. 解题思路
- 三. 代码验证
- 四. 总结
一. 二进制奇偶位交换说明意思?
- 就是一个int类型的整数在操作系统下是32位二进制01序列,第一位和第二位交换,第二位和第三位交换,依次类推。
- 交换奇偶位,需要先分别拿出奇偶位。既然是宏,分别拿出用循环不是很现实,那就用&这些位的方式来做。
二. 解题思路
奇数位拿出,那就是要&上010101010101……,偶数位拿出,就是要&上101010101010……,对应十六进制分别是555……和aaa……,一般我们默认是32位整数,4位对应一位16进制就是8个5,8个a。通过& 0x55555555的方式拿出奇数位和& 0xaaaaaaa的方式拿出偶数位。奇数位左移一位就到了偶数位上,偶数位右移一位就到了奇数位上,最后两个数字或起来,就完成了交换。
举例10这个数字:
- 二进制序列00000000000000000000000000001010
- 奇位置0,将10位&上01010101010101010101010101010101
结果:00000000000000000000000000000000 - 偶位置0, 将10位&上10101010101010101010101010101010
结果:00000000000000000000000000001010 - 将步骤二结果左移一位:00000000000000000000000000000000
- 将步骤三结果右移一位:00000000000000000000000000000101
- 将步骤四和步骤五结果相加即使答案:
00000000000000000000000000000101
最终交换后结果为5
三. 代码验证
#include<stdio.h>#define SWAP(n) (((n&0x55555555)<<1)+((n&0xaaaaaaaa)>>1))int main()
{int n = 0;scanf("%d", &n);printf("交换后%d", SWAP(n));return 0;
}

四. 总结
既然使奇偶交换,第一步先将奇数位全变0,那么就可以将偶数位全左移一位到奇数位,第二步将偶数位全变0,将奇数位全右移一位到偶数位,两结果相加就实现了奇偶交换
最后小编制作不易,麻烦各位兄弟们,点点关注!
相关文章:
【宏实现二进制奇偶位交换】
文章目录 一. 二进制奇偶位交换说明意思?二. 解题思路三. 代码验证四. 总结 一. 二进制奇偶位交换说明意思? 就是一个int类型的整数在操作系统下是32位二进制01序列,第一位和第二位交换,第二位和第三位交换,依次类推。…...
【Java零基础入门到就业】第一天:java简介和cmd窗口的一些常见命令
1、java简介 Java是一种基于类的、面向对象的编程语言,它被设计成具有尽可能少的实现依赖。它旨在让应用程序开发人员编写一次,并在任何地方运行(WORA),这意味着编译后的Java代码可以在所有支持Java的平台上运行,而无需重新编译。…...
ubuntu下yolov5 tensorrt模型部署
文章目录 ubuntu下yolov5 tensorrt模型部署一、Ubuntu18.04环境配置1.1 安装工具链和opencv1.2 安装Nvidia相关库1.2.1 安装Nvidia显卡驱动1.2.2 安装 cuda11.31.2.3 安装 cudnn8.21.2.4 下载 tensorrt8.4.2.41.2.5 下载仓库TensorRT-Alpha并设置 二、从yolov5源码中导出onnx文…...
windows Vscode 连接 虚拟机,超详细,含免密免ip配置 以 linux 虚拟机为例
我们这里使用 ssh 进行连接,不了解 ssh 的也没关系,感兴趣的可以自己了解一下。 我的虚拟机是 Ubuntu20.04,如果出现与 Centos 不一样的操作可以自行替换。 (应该不会有??) 一 . 登录虚拟机~&a…...
【Unity】VR基础开发2项目准备-VR基本场景构建(OpenXR方向)
【文字内容】 稍等一会儿,编辑器界面就出现了。有可能你的界面布局会有所不同,可以在右上角点击布局,选择Tall,布局切换后在来到左边窗口的左上角,将Game选项卡拖放到下方Dock,这样就可以得到和我一样的布局了。 简单介绍一下。 场景面板是对游戏进行可视化编辑的地方…...
git checkout 命令
一、拉取更新某个分支中某个文件/文件夹 git checkout 分支名 文件路径 git checkout temporary src/components/tools/UserMenu.vue 二、回退某个文件到前一个提交 git checkout HEAD^ 文件路径 git checkout HEAD^ src/components/tools/UserMenu.vue 如果你要回退到…...
二.镜头知识之镜头总长,法兰距,安装接口
二.镜头知识之镜头总长,法兰距,安装接口 文章目录 二.镜头知识之镜头总长,法兰距,安装接口2.1 线激光模组镜头的FBL 与 TTL(Total Track Length) 镜头总长2.2 相机法兰距2.3 线激光模组镜头的TTL 以及 From Barrel bottom to imag…...
Android studio控制台 输出乱码解决方法
在AS的安装目录,找到 studio64.exe.vmoptions 文件, 用编辑器打开文件,在最后面加上下面的代码: -Defile.encodingUTF-8然后 重启AS。 注意: 下面两种方式也能打开studio64.exe.vmoptions 文件,但是需要确…...
Hermes - 指尖上的智慧:自定义问答系统的崭新世界
在希腊神话中,有一位智慧与消息的传递者神祇,他就是赫尔墨斯(Hermes)。赫尔墨斯是奥林匹斯众神中的一员,传说他是乌尔阿努斯(Uranus)和莫伊拉(Maia)的儿子,同…...
机器学习笔记 - 使用3D卷积神经网络进行视频分类
1、导入相应的库 3D CNN 使用三维滤波器来执行卷积。内核能够在三个方向上滑动,而在 2D CNN 中它可以在二维上滑动。 首先安装并导入必要的库,用于处理ZIP文件内容的Remotezip 、用于使用进度条的tqdm 、用于处理视频文件的OpenCV 、用于执行更复杂的张量操作的einop…...
在Unity中挂载C#脚本的三种方法
第一种 ①在Project(工程)窗口的某个文件夹中(也可以选择新建在Assets(资源根目录)中),然后单击鼠标右键,选择Create->C# Script 注意:扩展名在Unity编辑器中是隐藏…...
vue elementui的select组件实现滑到底部分页请求后端接口
vue elementui的select组件实现滑到底部分页请求后端接口 1.实现效果2.实现原理 1.实现效果 老规矩,直接上最后的实现效果 2.实现原理 直接上代码 <el-form-item class"diagmosisItem" label"诊断" v-scroll"handleScroll">…...
【Java 进阶篇】JavaScript电灯开关案例:从原理到实现
JavaScript是一门强大的编程语言,它可以用来创建各种交互式网页应用。在这篇博客中,我们将通过一个简单的电灯开关案例来深入了解JavaScript的基础概念,包括HTML、CSS和JavaScript的结合使用。我们将从头开始构建这个案例,逐步引入…...
并发、并行、同步、异步、阻塞、非阻塞
一、多核、多cpu (一)多核 Multicore 核是CPU最重要的部分。负责运算。核包括控制单元、运算单元、寄存器等单元。 多核就是指单个CPU中有多个核。 (二)多cpu Multiprocessor 多cpu就是一个系统拥有多个CPU。每个CPU可能有单个核…...
C语言:冒泡排序
C语言 基础开发----目录 冒泡排序 1. 原理 对一个有n个数据的数组进行遍历,依次对相邻两个数据进行比较大小,若大的数据在前面则交换位置(升序),完成一次遍历后数组中最大的数据到了数组的末尾位置,就象水…...
Android 内容提供者和内容观察者:数据共享和实时更新的完美组合
任务要求 一个作为ContentProvider提供联系人数据另一个作为Observer监听联系人数据的变化: 1、创建ContactProvider项目; 2、在ContactProvider项目中用Sqlite数据库实现联系人的读写功能; 3、在ContactProvider项目中通过ContentProvid…...
六、K8S之StatefulSet
StatefulSet 一、概念 和Deployment一样StatefulSet也是中一种可以帮助我们部署和扩展Pod的控制器,使用Deployment时多数时候不需要在意Pod的调度方式。如果需要关心Pod的部署顺序、对应持久化存储或者要求Pod拥有固定的网络标识时,就需要StatefulSet控…...
基于微服务+Java+Spring Cloud开发的建筑工地智慧平台源码 云平台多端项目源码
建筑工地智慧平台源码,施工管理端、项目监管端、数据大屏端、移动APP端全套源码 技术架构:微服务JavaSpring Cloud VueUniApp MySql自主版权实际应用案例演示 建筑工地智慧平台已应用于线上巡查、质量管理、实名制管理、危大工程管理、运渣车管理、绿色…...
微信小程序异常:navigateTo:fail can not navigateTo a tabbar page
场景还原 微信小程序利用路径wx.navigateTo跳转界面时发送异常 跳转代码 showDetail(e){// 获取图片绑定的ID编号let id e.currentTarget.dataset.id;// 指定编号查询 携带参数到详情界面 wx.navigateTo({url: /pages/details/details?id id,})}异常代码 WAServiceMain…...
智慧公厕高精尖技术揭秘,让卫生管理更智能、更舒适
随着科技的飞速发展,智慧公厕正逐渐走进人们的生活。借助物联网、互联网、云计算、大数据、人工智能、自动化控制等技术的应用,智慧公厕将卫生管理提升到一个全新的水平,为公众打造了清洁舒适的使用环境。本文以智慧公厕源头厂家广州中期科技…...
5块钱的国产RISC-V芯片CH32V103能干啥?我用它复刻了一个STM32F103的小项目
5元国产RISC-V芯片实战:用CH32V103复刻STM32经典项目 在电子DIY领域,成本始终是创客们无法回避的现实问题。当我在某电商平台发现CH32V103这颗标价仅5元的RISC-V芯片时,第一反应是怀疑它的实用性——毕竟同级别的STM32F103C8T6价格通常在15-2…...
保姆级教程:用Python脚本一键将Labelme标注数据喂给YOLOv5/v8训练
从Labelme到YOLO:全流程数据转换与训练实战指南 当你完成数百张图像的Labelme标注后,面对满屏的JSON文件,是否曾为如何高效转换为YOLO格式而头疼?本文将以工业级解决方案,带你打通从标注到训练的全链路。不同于简单的格…...
Qwen3.5-2B图文理解教程:GIF动图逐帧理解+动态内容总结生成方法
Qwen3.5-2B图文理解教程:GIF动图逐帧理解动态内容总结生成方法 1. 引言 Qwen3.5-2B是一款轻量化多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。这款模型主打低功耗、低门槛部署,特别适配端侧和边缘设备&am…...
Apache Flink Agents 0.2.1版本发布,亮点几何?
Apache Flink社区宣布发布 Apache Flink Agents 0.2 系列的首个缺陷修复版本 0.2.1,包含3项缺陷和漏洞修复及小幅改进,还基于此构建了演示项目。版本发布情况Apache Flink社区很高兴地推出了 Apache Flink Agents 0.2.1 版本。此版本是 0.2 系列的首个缺…...
30天小白进阶AI大神:收藏这份路线图,免费工具玩转大模型!
本文为AI学习新手提供了30天的系统学习路线图,涵盖了AI技术栈的三个层次:应用层、模型层和基础设施层。文章建议从应用层入手,逐步向下理解,并推荐了主流AI工具的对比及免费工具的入门使用。此外,还提供了给初学者的五…...
浅谈MIKE URBAN转SWMM的方法
01 前言近期有群友咨询MIKE URBAN怎么转换成SWMM的INP文件格式,其实这个是很简单的,前提是你对两个软件格式足够熟悉,另一方面,很多年前SWMM就开发了inpPNS软件。可以利用这个软件便可实现转换,小编抽时间给大家分享下…...
深入OpenHarmony NAPI引擎:从‘@ohos.hilog’导入到so库加载的底层链路剖析
深入OpenHarmony NAPI引擎:从‘ohos.hilog’导入到so库加载的底层链路剖析 当开发者在OpenHarmony应用中写下import hilog from ohos.hilog时,背后隐藏着一套精密的系统级协作机制。这条看似简单的语句,实际上触发了从JavaScript语法解析到原…...
isaac lab5.0与ROS2通信
问题:isaac lab 5.0是基于python3.11 ros2是基于python3.10,因此不能在isaac sim的代码中直接写ros2的代码 在isaac sim中加import socketdef send_to_ros2(v, w):try:sock socket.socket(socket.AF_INET, socket.SOCK_STREAM)sock.connect((127.0.0.1…...
别再数据线了!用FastAPI 分钟搭个局域网文件+剪贴板神器
AI Agent 时代的沙箱需求 从 Copilot 到 Agent:执行能力的质变 在生成式 AI 的早期阶段,应用主要以“Copilot”形式存在,AI 仅作为辅助生成建议。然而,随着 AutoGPT、BabyAGI 以及 OpenAI Code Interpreter(现为 Advan…...
万象视界灵坛实战教程:广告Banner图受众情绪倾向语义解析实践
万象视界灵坛实战教程:广告Banner图受众情绪倾向语义解析实践 1. 平台介绍与核心能力 万象视界灵坛是一款基于OpenAI CLIP技术的高级多模态智能感知平台。它将复杂的图像语义分析过程转化为直观的交互体验,特别适合需要快速理解视觉内容情感倾向的营销…...
