当前位置: 首页 > news >正文

广元市住房和城乡建设局网站云计算培训

广元市住房和城乡建设局网站,云计算培训,郑州英语网站建设,淮南网站建设文章目录 一. 二进制奇偶位交换说明意思?二. 解题思路三. 代码验证四. 总结 一. 二进制奇偶位交换说明意思? 就是一个int类型的整数在操作系统下是32位二进制01序列,第一位和第二位交换,第二位和第三位交换,依次类推。…

文章目录

  • 一. 二进制奇偶位交换说明意思?
  • 二. 解题思路
  • 三. 代码验证
  • 四. 总结

一. 二进制奇偶位交换说明意思?

  1. 就是一个int类型的整数在操作系统下是32位二进制01序列,第一位和第二位交换,第二位和第三位交换,依次类推。
  2. 交换奇偶位,需要先分别拿出奇偶位。既然是宏,分别拿出用循环不是很现实,那就用&这些位的方式来做。

二. 解题思路

奇数位拿出,那就是要&上010101010101……,偶数位拿出,就是要&上101010101010……,对应十六进制分别是555……和aaa……,一般我们默认是32位整数,4位对应一位16进制就是8个5,8个a。通过& 0x55555555的方式拿出奇数位和& 0xaaaaaaa的方式拿出偶数位。奇数位左移一位就到了偶数位上,偶数位右移一位就到了奇数位上,最后两个数字或起来,就完成了交换。

举例10这个数字:

  1. 二进制序列00000000000000000000000000001010
  2. 奇位置0,将10位&上01010101010101010101010101010101
    结果:00000000000000000000000000000000
  3. 偶位置0, 将10位&上10101010101010101010101010101010
    结果:00000000000000000000000000001010
  4. 将步骤二结果左移一位:00000000000000000000000000000000
  5. 将步骤三结果右移一位:00000000000000000000000000000101
  6. 将步骤四和步骤五结果相加即使答案:
    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,将奇数位全右移一位到偶数位,两结果相加就实现了奇偶交换
最后小编制作不易,麻烦各位兄弟们,点点关注!

http://www.tj-hxxt.cn/news/108636.html

相关文章:

  • 郑州做网站公司排阿里云搜索引擎入口
  • 电子商务网站建设与运营百度营销推广靠谱吗
  • 自然志wordpress下载广州网站运营专业乐云seo
  • 张家港企业网站设计什么是百度竞价
  • 麦味旅行的网站建设需求分析网络推广方案有哪些
  • 为什么要建设企业网站建站模板网站
  • sns类网站有哪些网络营销策划方案书
  • 网站上飘窗怎么做seo排名方案
  • vps服务器购买企业网站推广优化
  • 衡阳网站排名优化公司广州新闻最新消息今天
  • 公司网站需求分析网站页面分析作业
  • 济南网站建设小程序seo网站优化服务
  • wordpress自定义分类模板下载seo网站首页推广
  • 攻击网站常用方法西安网络科技有限公司
  • c asp.net 做网站抖音seo查询工具
  • 西宁网络公司网站建设最近的时事新闻
  • 河南做网站公司报价营销型公司网站建设
  • 开发公司 网站建设纯注册app拉新平台
  • 清河做网站哪家好上海谷歌推广
  • 做网站的靠什么挣钱网站监测
  • 网站制作文案杭州优化seo报价
  • 内网网站建设改版方案自媒体seo优化
  • 美国服务器网站产品关键词
  • 湘乡网站seo微信小程序开发费用
  • 羊肉口报关做网站武汉大学人民医院洪山院区
  • 昆山做网站费用聊城seo优化
  • 贵阳网站开发哪家便宜百度导航下载2021最新版
  • 我想克隆个网站 怎么做软文素材
  • 香河做网站全球十大搜索引擎排名及网址
  • 企业咨询公司有哪些sem优化是什么