<个人笔记>位运算

<个人笔记>位运算

常用操作

1.n的二进制表示中第 k 位进制是几:

操作如下:
(1)先把第 k 位移到最后一位:
(2)看个位是几 k & 1

2.lowbit函数:返回 x 的最后一位1

例如:
当 x = 1010 则 lowbit ( x ) = 10
当 x = 1010000 则 lowbit ( x ) = 10000

int lowbit(int x){
    return x & -x;
}

lowbit 函数常见作用:
求 x 的二进制中有多少个1
例题

给定一个长度为 n 的数列,请你求出数列中每个数的二进制表示中 1 的个数。

#include<iostream>

using namespace std;


int lowbit(int x){
    return x&(-x);
}
int main(){
    int n;
    cin >> n;
    while(n--){
        
        int x;
        cin >> x;
        int res = 0;
        
        while(x)
        {
            x -= lowbit(x);
            res++;
        }

        cout << res << ' ';
    }
}

相关推荐

  1. 个人笔记运算

    2024-03-30 01:10:02       39 阅读
  2. Python3 笔记运算符

    2024-03-30 01:10:02       34 阅读
  3. <span style='color:red;'>位</span><span style='color:red;'>运算</span>

    运算

    2024-03-30 01:10:02      36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-30 01:10:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-30 01:10:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-30 01:10:02       82 阅读
  4. Python语言-面向对象

    2024-03-30 01:10:02       91 阅读

热门阅读

  1. Frida相关脚本代码样例(Windows下经过测试)

    2024-03-30 01:10:02       45 阅读
  2. 前端通用命名规范和Vue项目命名规范

    2024-03-30 01:10:02       41 阅读
  3. GIT使用小结

    2024-03-30 01:10:02       38 阅读
  4. 面试宝典:PHP中的Yac技术深度分析

    2024-03-30 01:10:02       42 阅读
  5. 什么是FLV

    2024-03-30 01:10:02       38 阅读
  6. 正则表达式

    2024-03-30 01:10:02       35 阅读
  7. 正则匹配/正则表达式

    2024-03-30 01:10:02       52 阅读
  8. Rust引用借用 vs 原始指针

    2024-03-30 01:10:02       37 阅读
  9. 库函数的模拟实现

    2024-03-30 01:10:02       42 阅读
  10. uniapp踩坑细节

    2024-03-30 01:10:02       45 阅读
  11. Element-UI中el-time-picker时间选择器无法选择

    2024-03-30 01:10:02       37 阅读