当前位置: 首页 > 后端技术 > Java

JZ-011-二进制中1的个数

时间:2023-04-01 22:49:49 Java

二进制中1的个数标题说明输入一个整数,输出该数的32位二进制表示中1的个数。负数用二进制补码表示。TopicLink:Numberof1sinBinaryCode/***Title:Numberof1sinBinary*TitleDescription*输入一个整数,输出该数的32位二进制表示中1的个数。负数用二进制补码表示。*问题链接:*https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8?tpId=13&&tqId=11164&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking*/publicclassJz11{publicstaticvoidmain(String[]args){System.out.println(numberOf1(10));System.out.println(numberOf2(10));}/***n&(n-1)*该位操作移除n的位级表示中的最低位。*n:10110100*n-1:10110011*n&(n-1):10110000**@paramn*@return*/publicstaticintnumberOf1(intn){intcnt=0;while(n!=0){cnt++;n&=n-1;}返回cnt;}/***库方法**@paramn*@return*/publicstaticintnumberOf2(intn){returnInteger.bitCount(n);}}【每日留言】你的微笑是最治愈的力量,胜过世间最美的风景。