码迷,mamicode.com
首页 > 其他好文 > 详细

【位运算】求二进制数中1的个数

时间:2018-07-08 18:07:52      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:二进制   运算   static   return   turn   ext   while   stat   进制   

 1 import java.util.Scanner;
 2 
 3 /**
 4  * 功能:位运算,求二进制数中1的个数
 5  * 思路:通过每次右移一位,并与1进行与运算,判断该位是否是1,最后统计个数。
 6  */
 7 public class Main4 {
 8 
 9     public int count(int num) {
10 
11         if (num <= 0) {
12             return 0;
13         }
14 
15         int count = 0;
16 
17         while (num > 0) {
18             if ((num & 1) == 1) {
19                 count++;
20             }
21             num = num >> 1;
22         }
23 
24         return count;
25     }
26 
27     public static void main(String[] args) {
28 
29         Main4 main4 = new Main4();
30         Scanner scanner = new Scanner(System.in);
31 
32         int num = 0;
33         while (scanner.hasNext()) {
34             num = scanner.nextInt();
35             System.out.println(main4.count(num));
36         }
37     }
38 }

 

【位运算】求二进制数中1的个数

标签:二进制   运算   static   return   turn   ext   while   stat   进制   

原文地址:https://www.cnblogs.com/jiangyi-uestc/p/9280650.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!