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

leetcode:190. 颠倒二进制位

一、题目:

 

函数原型:

uint32_t reverseBits(uint32_t n) 

解释:uint32是无符号int或short的别称,传入的参数是一个32位二进制串,返回值是该32位二进制串逆序后的十进制值

二、思路: 

实际上并不需要真的去逆序二进制串,只需要将逆序的的二进制串的十进制结果计算出来即可。那么只要每次取出原二进制串的一个低位,作为新二进制串的一个高位来计算。例如,取出原二进制串的最后一位,乘以2^31即可得到新二进制串的第一位;取出原二进制串的倒数第二位,乘以2^30即可得到新二进制串的第二位……如此以来,设置循环,共32次,每次将原二进制串按位与1即可得到低最位,然后右移原二进制串。将所有的结果相加即可得到新二进制串的十进制结果。

三、代码:

uint32_t reverseBits(uint32_t n) {int result=0;for(int i=0;i<32;i++){result+=((n>>i)&1)*pow(2,31-i);}return result;
}
http://www.lryc.cn/news/188006.html

相关文章:

  • Spring Cloud--@RefreshScope动态刷新的注意事项
  • visual-studio-code通过跳板机连接远程服务器的配置操作
  • LuatOS-SOC接口文档(air780E)-- gpio - GPIO操作
  • 一个命令让redis服务端所有信息无所遁形~(收藏吃灰系列)
  • 通过Node.js获取高德的省市区数据并插入数据库
  • 记一次 .NET某账本软件 非托管泄露分析
  • Oracle笔记-对ROWNUM的一次理解(简单分页)
  • 系统架构设计:10 论数据湖技术及其应用
  • 【MySQL】基本查询(三)聚合函数+group by
  • 基于KubeAdm搭建多节点K8S集群
  • VuePress实现自动获取文章侧边栏目录功能
  • nginx配置实例-负载均衡
  • Nginx的跨域问题解决
  • ts的交叉类型是什么
  • 【【萌新的SOC学习之AXI接口简介】】
  • ios safari 浏览器跳转页面没有自适应
  • node、npm、nvm相关概念区别
  • Dubbo3应用开发—Dubbo3注册中心(zookeeper、nacos、consul)的使用
  • Chrome自动播放限制策略
  • k8s安全机制
  • Java多线程:Runnable与Callable的区别和原理
  • 解决yolo无法指定显卡的问题,实测v5、v7、v8有效
  • arc 166 a
  • Lua05——Lua基本数据类型
  • 一文3000字从0到1使用pytest-xdist实现分布式APP自动化测试
  • pyqt5:pandas 读取 Excel文件或 .etx 电子表格文件,并显示
  • 【QT】Windows 编译并使用 QT 5.12.7源码
  • php实战案例记录(15)获取GET和POST请求参数
  • k8s-9 ingress-nginx 特性
  • java案例24:模拟百度翻译