输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
Posted Cloudstrife
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。相关的知识,希望对你有一定的参考价值。
public class Solution { public int NumberOf1(int n) { int index = 1; int number = 0; while(index!=0){ if((n & index)!=0) number++; index = index << 1; } return number; } }
先上第一种
两种方法。第一种,是用位运算,将1每次左移,和数字进行&运算,如果成功,则返回1.
第二种,将整数通过方法转换为二进制数,然后统计其中1的数量
第二种
int number = 0; String string = Integer.toBinaryString(n); char[] chars = string.toCharArray(); int i = 0; for( ; i < string.length() ; i++){ if(chars[i]==‘1‘) number++; } return number++;
以上是关于输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。的主要内容,如果未能解决你的问题,请参考以下文章
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
剑指offer11:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(进制转换,补码反码)
三种方式求: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示