打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
每天一算法:「数学」位1的个数

小编最近整理了一些经典面试题目清单,将帮助您掌握算法及数据结构,并提高您的编程能力。

编程能力就像任何其他技能一样,也是一个可以通过刻意练习提高的。

大多数经典面试题目都有多种解决方案。 为了达到最佳的练习效果,强烈建议您至少将题目练习两遍,如果可以的话,三遍会更好。

刻意练习并不意味着寻找答案并记住它,这种练习方法不是长久之计。 在没有参考答案情况下,越能自主解决问题,才越能提高自身能力。

题目通过率:40.3%,难度:简单

描述:

编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。

示例 :

输入: 11输出: 3解释: 整数 11 的二进制表示为 00000000000000000000000000001011

示例 2:

输入: 128输出: 1解释: 整数 128 的二进制表示为 000000000000000000000000100000



解题思路:

此题解法思路很多,小编只提供一条思路:按位与运算符(&)

参加运算的两个对象,按二进制位进行“与”运算

运算规则:

0 & 0 = 0;0 & 1 = 0;1 & 0 = 0;1 & 1 = 1;

即 0& ?=0;1 & 1 = 1;

代码:

运算结果:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
位运算之美
反转一个字节和判断32位整数二进制中1的个数的算法-todototry的专栏-...
二进制是如何将加减乘除变换为加法实现的
算法专题(7)-高精度算法与快速幂
漫画算法:找出缺失的整数
编程之美求二进制数中1的个数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服