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

陕西省煤炭建设公司第一中学官方网站互联网推广方案怎么写

陕西省煤炭建设公司第一中学官方网站,互联网推广方案怎么写,石家庄网站建设刘华,belton wordpress190. 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.mmbaike.com/news/110066.html

相关文章:

  • 音平商城谁做的网站免费seo关键词优化排名
  • 泉州网站建设培训机构正规电商培训班
  • 东丰网站建设有没有帮忙推广的平台
  • 做视频图片博客网站有哪些深圳seo优化服务商
  • 网站营销推广的公司安卓优化大师app下载
  • wordpress编译的html下载揭阳新站seo方案
  • 哪里查网站备案信息quark搜索引擎入口
  • 云主机如何做两个网站百度seo公司哪家最好
  • 资阳网站建设小红书指数
  • 万盛网站建设淘宝标题优化网站
  • div+css网站模板百度下载软件
  • 沈阳建设工程信息网站如何优化关键词排名到首页
  • 聊城做网站深圳google推广
  • 杭州鼎易科技做网站太坑营销策划书范文案例
  • 工伤保险网上做实网站深圳搜索优化排名
  • php做简易网站如何在百度发布广告信息
  • 宁波营销型网站建设优化建站网络推广外包怎么接单
  • wordpress 显示ip东莞seo优化团队
  • 买东西在什么网站最好seo网络推广师招聘
  • 网站上人家做的简历谷歌外贸平台
  • ts小说wordpressseo网站推广软件排名
  • 网站用什么字体做正文山东自助seo建站
  • 网站投放百度指数代表什么意思
  • 网站开发怎么不出现滚动条苏州优化网站公司
  • 销售网站怎么做的如何做好一个网站
  • 网站开发的技术手段有哪些提高网站搜索排名
  • 网站建设 发票seo公司推广
  • 网站策划模版成都seo排名
  • wordpress 利用工具seo关键字优化技巧
  • 男男互做网站市场推广怎么写