二进制中1的个数
题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
实现语言:Java
先把整数转换为二进制字符串,把字符串转为char数组,遍历。
1 2 3 4 5 6 7 8 9 10 11 12 | public class Solution { public int NumberOf1( int n) { char [] str=Integer.toBinaryString(n).toCharArray(); int res= 0 ; for ( int i= 0 ;i<str.length;++i){ if (str[i]== '1' ){ ++res; } } return res; } } |
实现语言:Java
利用&运算的特性,把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0.那么一个整数的二进制有多少个1,就可以进行多少次这样的操作。
1 2 3 4 5 6 7 8 9 10 | public class Solution { public int NumberOf1( int n) { int res= 0 ; while (n!= 0 ){ n=(n- 1 )&n; ++res; } return res; } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)