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

C:写一个函数返回参数二进制中1的个数

方法1:

  我们可以通过余10除10的方式来获得一个十进制数中的每一位。同样的对于一个二进制数,我们可以通过余2除2的方式获得所有的二进制位。

  但是如果传入的是负数,例如-1,这个时候模运算会出问题。我们可以将其强制转化为无符号数,这样就被编译器理解为一个很大的数了。

方法2:

  我们可以通过右移操作符和&1结合,来求出一共有多少个1。

方法3:

  上面两种方式的效率都很低。

n = n & (n - 1)

  每一次计算,都可以二进制中最右边一个1变成0。

 

拓展:判断一个数是不是2的n次方

  我们会发现2的n次方的数在二进制下只有1个1,通过上面的方法,如果成立那么就是二进制数了。

http://www.gsyq.cn/news/194024.html

相关文章:

  • Claude-Opus-4.5 国内落地最佳实践:基于 API 网关的低延迟架构方案
  • 03-PGDataType
  • 03-PGDataType
  • 全网最全8个AI论文网站,专科生轻松搞定毕业论文!
  • python餐厅点餐及餐桌推荐系统vue
  • tsgqec.dll文件损坏丢失找不到 打不开程序 下载方法
  • 机器人工程毕设 基于单片机的太阳追光系统(源码+硬件+论文)
  • a and b are not such bad
  • 全网最全MBA必备!10个一键生成论文工具深度测评
  • springboot大学社团管理系统
  • 利用 ‘Online Sampling’:如何在大规模流量中抽样 1% 的数据进行深度的专家人工审核?
  • 解析 ‘Cost Profiling’:如何精准识别哪一个 Agent 节点是‘吞金兽’并进行逻辑优化?
  • YOLOFuse零基础入门:无需懂CUDA也能跑通深度学习模型
  • YOLOFuse夜间行人检测效果展示:红外增强细节识别能力
  • springboot点餐系统
  • COMSOL交流电弧模型:多物理场耦合的奇妙世界
  • 元旦祝福语,自创++考研政治+ai
  • YOLOFuse支持HuggingFace镜像加速下载?实测兼容性良好
  • YOLOFuse中文教程上线:帮助更多国内开发者快速上手
  • YOLOFuse服务器选型指南:风冷还是水冷?
  • YOLOFuse是否可用于移动端部署?需进一步轻量化剪枝
  • 双流融合检测新突破!YOLOFuse镜像一键部署,提升低光烟雾环境下mAP达94.7%
  • Git远程协作
  • 2026手持三维扫描仪十大品牌权威排名:洞察用户需求与行业变革 - 匠子网络
  • YOLOFuse项目页面显示‘你尝试预览的文件可能有害’?GitHub渲染机制误判
  • YOLOFuse可用于毕业设计课题?强烈推荐多模态方向选题
  • YOLOFuse模型压缩潜力分析:中期融合结构利于裁剪
  • YOLOFuse阿里云市场入驻:国内用户便捷购买
  • YOLOFuse团购优惠活动:实验室批量采购折扣
  • Typora免费版安装