Java如何计算汉明重量 (即二进制串中1的个数)
来源:网络收集 点击: 时间:2024-02-13【导读】:
题目:编写一个函数,输入一个带符号整数,返回其二进制表达式中数字位数为 1 的个数(也被称为汉明重量)。本篇经验将分享两个算法,一个是二进制字符串统计法,一个是位运算法。工具/原料moreEclipseJDK1.8方法/步骤1/5分步阅读
2/5
3/5
4/5
5/5
注意事项
实现二进制字符串统计法
图示,通过 Integer 提供的 toBinaryString 方法,将数字转换为字符串,然后遍历字符串的的每一个字符,统计计算。

编写并运行测试方法,测试基于字符串的统计算法
图示,调用算法获取数字 -3 和 1024 的汉明重量,并输出到控制台。

实现位运算算法
图示,通过和1相“与”的位运算,判断最后一位是否是1,并进行无符号“右移位”运算。

编写并运行测试方法,测试位运算算法
图示,调用算法获取数字 -3 和 1024 的汉明重量,并输出到控制台。

平台提交算法,位运算算法优于字符串统计算法
图示,两个算法均通过测试,但在时间复杂度和空间复杂度上,位运算算法都明显优于字符串统计算法。


汉明重量即一个二进制串中数字1的位数
汉明重量统计1的位数版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_33461.html
上一篇:怎么清洗毛衣
下一篇:wps中怎么输入无穷符号?