美文网首页奇妙的位运算
位运算之统计二进制数中1的个数

位运算之统计二进制数中1的个数

作者: 掌灬纹 | 来源:发表于2019-01-22 18:49 被阅读0次

题目:输入任意十进制数转为二进制并且统计二进制中1出现的次数

样例:

输入:

10

输出:

1010

2

tip: 二进制数减一 可视为从最低位为1往后取反 eg:1010 - 1 = 1001 ,在将

(1010)&(1001)做与运算,即可消去第一位1,即1000,即统计减一的次数

,直到消去所有的1,即为1的个数。

(Java)代码如下:

public static void main(String[] args) {

int count = 0;//统计减1次数

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();

System.out.println(Integer.toString(n, 2));//二进制输出

while(n != 0) {

n = n&(n-1);

count++;

}

System.out.println(count);

}

相关文章

  • 位运算之统计二进制数中1的个数

    题目:输入任意十进制数转为二进制并且统计二进制中1出现的次数 样例: 输入: 10 输出: 1010 2 tip:...

  • C语言08- 位运算,宏定义,递归

    16:位运算 16.1:位运算概述 二进制与位运算 16.2:与(and):& 与运算:只有当2个数对应的位都为1...

  • MySQL语法模板 函数:统计

    MySQL语法模板系列 平均值 二进制按位与 二进制按位或 二进制按位异或 统计二进制1的个数 统计记录数 分组中...

  • 剑指offer(Java版)day03:二进制中1的个数|数值的

    1二进制中1的个数 【题目】输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 【考察点】位运算 【...

  • 位运算

    各种位运算的使用 === 1. and运算 === and运算通常用于二进制取位操作,例如一个数 and 1的结果...

  • 15_二进制中1的个数

    要求:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路:把1的二进制数每次往左移一位, 位运算...

  • 位运算的技巧

    位运算的技巧 基本 and 运算 通常用于二进制取位操作。 例如,and 1就是取二进制末位,可以用来判断一个数的...

  • 位运算

    参考:位运算技巧 位运算的使用 1.and运算and运算通常用于二进制取位操作,例如一个数and1的结果就是取二进...

  • 位运算加法

    1. 运算符号 2. 运算说明 === 与运算 & === and运算通常用于二进制的取位操作,例如一个数 & 1...

  • 1.3 题解:计算无符号二进制数中1的个数

    Chapter1: 位运算的奇技淫巧 3. 题解:计算无符号二进制数中1的个数 题目 计算无符号整数的二进制表示中...

网友评论

    本文标题:位运算之统计二进制数中1的个数

    本文链接:https://www.haomeiwen.com/subject/hzerjqtx.html