[蓝桥杯习题]———位运算、判断二进制1个数

在这里插入图片描述

⭐Hello!这里是欧_aita的博客。
⭐今日语录:行动胜过一切。
⭐个人主页:欧_aita
ψ(._. )>⭐个人专栏:
数据结构与算法(内含蓝桥杯习题)
MySQL数据库

在这里插入图片描述

在这里插入图片描述

位运算

位运算的定义

位运算是指在二进制位级别上对数据进行操作的一种计算机运算方式。这种运算通常直接操作二进制位,通过一组针对位的操作符来完成。在许多计算机体系结构中,位运算是高效的,因为它们可以直接映射到底层的处理器指令。

简单运用

输出一个数的二进制表达数字。需要注意(n >> i & 1)是按照比特为单位进行位移的。

#include<iostream>
using namespace std;

int main()
{
   
    int n=10;
    for(int i=3;i>=0;i--)cout<<( n >> i & 1);
    return 0;
}

在这里插入图片描述

实战刷题

题目

任给一个数,求二进制数中1的个数?

思路

可以使用位运算的方法,在学习计算机基础时,我们就学过一个正数的补码+1就是该数的负数。所以将要求的数&上此数的负数,得出来的结果再减一遍,直到减到0为止,此过程使用一个res计数器计数,最后的res就是结果。

话不多说,上图解
在这里插入图片描述
这样每次都是从右向左寻找1。

代码实现

声明

#include <iostream>
using  namespace std;

减1过程

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

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

最后输出的res就是1的个数。
这篇文章就到此结束了,如果对你有所帮助,就留下你的赞吧!
在这里插入图片描述

相关推荐

  1. ACwing习题

    2023-12-06 11:50:03       33 阅读
  2. ACwing习题

    2023-12-06 11:50:03       30 阅读
  3. ACwing习题

    2023-12-06 11:50:03       31 阅读
  4. ACwing习题

    2023-12-06 11:50:03       30 阅读
  5. ACwing习题

    2023-12-06 11:50:03       31 阅读
  6. ACwing习题

    2023-12-06 11:50:03       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-06 11:50:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-06 11:50:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-06 11:50:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-06 11:50:03       20 阅读

热门阅读

  1. 利用Python爬虫爬取豆瓣电影排名信息

    2023-12-06 11:50:03       44 阅读
  2. (软件、服务、应用程序和协议)的默认端口号

    2023-12-06 11:50:03       29 阅读
  3. spark sql基于CBO的优化

    2023-12-06 11:50:03       40 阅读
  4. 自动化工具之-影刀RPA

    2023-12-06 11:50:03       34 阅读
  5. 后端架构的一些知识

    2023-12-06 11:50:03       33 阅读
  6. Python 模块和包

    2023-12-06 11:50:03       38 阅读
  7. Mysql中RTRIM、LTRIM、TRIM函数的区别

    2023-12-06 11:50:03       36 阅读
  8. 用python微调gpt-3.5

    2023-12-06 11:50:03       36 阅读
  9. linux 进程间几种常见通信方式介绍

    2023-12-06 11:50:03       36 阅读
  10. 【Ratis】Grpc.proto文件里定义的一些RPC

    2023-12-06 11:50:03       40 阅读