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

广州市公司网站建设品牌重庆搜索引擎seo

广州市公司网站建设品牌,重庆搜索引擎seo,wordpress 和eblog,晋城企业网站建设公司190. Reverse Bits(颠倒二进制位) 题目要求我们将一个数的二进制位进行颠倒,画出图示如下(以8位二进制为例): 显然对于这种问题我们需要用到位操作,我们需要将原数的每一位取出来然后颠倒之后放进另一个数。 我们需要…

190. Reverse Bits(颠倒二进制位)

题目要求我们将一个数的二进制位进行颠倒,画出图示如下(以8位二进制为例):
在这里插入图片描述
显然对于这种问题我们需要用到位操作,我们需要将原数的每一位取出来然后颠倒之后放进另一个数。
我们需要先知道离散数学中的几个公式 p ∨ 1 = 1 p ∨ 0 = p p ∧ 1 = p p ∧ 0 = 0 p\lor 1 = 1\\p\lor 0=p\\p\land 1 = p\\p\land 0 = 0 p1=1p0=pp1=pp0=0
知道上述的公式之后我们就可以对数进行取出位数。
如下图所示
在这里插入图片描述
在这里插入图片描述

也就是说我们要取出哪一位就让哪一位&上1就行了。
但是如何控制对应位为1而其他位为0呢?我们知道c语言中移位操作>>与<<,分别代表左移与右移,让对应位为1我们只需要让1进行<<操作就行。
经过移位与&操作我们可以得到一个除了要取出位为原二进制数中对应位之外,其余位全为0的数。
现在取出哪一位的问题已经解决了,我们知道 p ∨ 0 = = p p\lor0==p p0==p也就是说我们要保证接收对应位的数的对应位等于0,其余的均不许要进行改变,因为我们取出数的位除了取出的那一位其余位全为0,并不会改变我们的接收数。由此我们有了以下的思路。
因为有符号整型的数在进行移位操作的时候并不能操作符号位所以我们需要先进行符号位的改变。或者使用无符号整型。

uint32_t reverseBits(uint32_t n) {int x = 0;if(n%2==0){x = 0;}else{x = INT_MIN;}for(int i =0; i<31; i++){n = n>>1;x |= ((n&1)<<(30-i));}return x;
}

运行结果截图:
在这里插入图片描述

191. Number of 1 Bits( 位1的个数)

经过上面这一题之后我们已经知道怎么取出对应位了,取出对应位之后判断是否为1就行了。

int hammingWeight(uint32_t n) {int count = 0;while(n){if(n&1){count++;  }n=n>>1;}return count;
}

运行结果截图:
在这里插入图片描述

http://www.dt0577.cn/news/39574.html

相关文章:

  • 网站服务器建立软文素材库
  • 百家号如何给网站做推广北京seo诊断
  • 17zwd一起做网站广州常见的网络营销方法有哪些
  • 建行的官方网站网站规划与设计
  • 策划方案免费网站aso推广公司
  • smarty做网站百度竞价广告推广
  • qwins是哪个网站做的营销型网站开发公司
  • 网站做伪静态seo做得比较好的公司
  • 网站建设免费的seo岗位培训
  • 剑网三奇遇查询网站怎么做百度指数有什么参考意义
  • 图片新闻网站源码北京建设网站公司
  • 泉州app网站开发2024年新闻摘抄十条
  • 如何保存个人网站培训学校招生方案
  • 做 英语试题的网站查看百度关键词价格
  • 网站建设工具的公司网站的推广
  • 网站推广属于什么行业个人发布信息的免费平台
  • html5浅蓝色网站设计公司dede模板百度一下京东
  • 网站建设步骤 教 程郑州手机网站建设
  • 网站网站怎么定位刷排名有百度手机刷排名
  • 快速做网站的技术如何实现网站的快速排名
  • 成人本科报考条件及要求青岛官网优化
  • 手机网站管理系统武汉网站维护公司
  • 秦皇岛网站建设价格网络营销师是干什么的
  • 海淀做网站公司关于搜索引擎的搜索技巧
  • 网站后台系统功能友情链接批量查询
  • 网络系统分类旺道seo工具
  • 优秀个人网站推荐电商网站如何避免客户信息泄露
  • 可以做c oj的网站app平台搭建需要多少钱
  • 个人网站首页网站一级域名和二级域名区别
  • app制作免费平台武汉seo 网络推广