位运算(&、|、^、~、>>、<<)总结

位运算符(&、|、~、^)的详解与应用 四种位运算符的详解与应用 阅读详情

目录

1.位运算概述

2.符号 

3.常用的功能:

4.运用:

题目描述

输入描述

输出描述


​​​​​​​

1.位运算概述

        从现代计算机中所有的数据二进制的形式存储在设备中。即 0、1 两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。

2.符号 

1)与运算 &  有0则0 无0则1  可以用来判断奇偶 x&1==0 说明x是偶数

2)或运算|有1位1 无1为0

3)异或运算 ^ 相同为1 不同为0

4)<<        二进制左移

5)  >>        二进制右移

6)~         取反

3.常用的功能:

1.交换二个数 a^=b^=a^=b;

2.判断奇偶 x&1

3.判断二个数是否相同 a^b==0 说明ab相等

4.判断多个数字中只出现一次的数字 ans^=x 多次 最后ans的值就是那个数字

4.运用:

1.描述
给你一个整数数列,保证只有一个数出现过奇数次,输出它。
输入
多组测试数据。 每组测试数据第一行为一个整数n,代表该数列元素个数。(1 <= n <= 500000) 第二行为n个整数ai,以空格隔开。(-1000000 <= ai <= 1000000)
输出
输出一行表示这个出现奇数次的数。

int main(){
    int n;
    while (cin>>n) {
        int ans=0;
        over(i,1,n){
            int x;
            cin>>x;
            ans^=x;
        }
        cout<<ans<<endl;
    }
}

 2.

题目描述

icebound通过勤工俭学,攒了一小笔钱,于是他决定出国旅游。这天,icebound走进了一个神秘的神殿。神殿由八位守护者守卫,总共由6464个门组成,每一道门后都有一个迷宫,迷宫的大小均为100×100100×100。icebound在迷宫中总共耗时TT小时,消耗食物KK公斤。历经千辛万苦之后,icebound终于穿越了迷宫,到达了神殿的中心。神殿的中心有一个宝箱。宝箱上显示有两个正整数ll和rr。icebound苦思冥想,终于发现一些打开宝箱的线索。你需要找到一个数PP,它具有一个美妙的性质:它是[l,r][l,r]中所有数的二进制表示里,11的个数最多的一个数。如果你发现了这个美妙的数字,你就可以打开宝箱,获得巨额财富。

比如[4,8][4,8]中:

4: 0100
5: 0101
6: 0110
7: 0111
8: 1000

二进制表示中11的个数最多的数是77,它含有33个11。

输入描述

输入一行,两个正整数:ll和rr,用空格隔开,代表神殿中宝箱上显示的数。

1≤T<2311≤T<231,

1≤K≤1051≤K≤105,

1≤l≤r≤2×1091≤l≤r≤2×109

输出描述

一个十进制数P,代表满足条件的解。如果有多个P满足条件,输出最小的P。

样例输入

4 8

样例输出

7

我们可以根据

n|(n+1)一定会比n的二进制多一个一而且还是从低位向高位加一

int main(){
    ll l,r;
    cin>>l>>r;
    while ((l|(l+1))<=r) {
        l|=(l+1);
    }
    cout<<l<<endl;
}

SAP FICO 中的 F-02 :概念、使用场景及案例解析 在 SAP FICO (财务会计与管理会计) 模块中,F-02 是一个用于录入总账凭证的事务代码。这个事务代码主要用于手动输入总账凭证,适用于各类财务交易,例如资产购入、费用支付、收入确认等。F-02 的重要性在于,它允许财务人员在 SAP 系统中创建凭证,并确保这些凭证能够正确影响总账账户。 阅读详情

相关推荐

c#笔记之mes上传Http协议版

HTTP(超文本传输协议) 是一种典型的协议。

qq_61441787的博客 342

2016: 神殿(求二进制1的个数最多的那个数)

题目描述: icebound通过勤工俭学,攒了一小笔钱,于是他决定出国旅游。这天,icebound走进了一个神秘的神殿。神殿由八位守护者守卫,总共由6464个门组成,每一道门后都有一个迷宫,迷宫的大小均为100 \times 100100×100。icebound在迷宫中总共耗时TT小时,消耗食物KK公斤。历经千辛万苦之后,icebound终于穿越了迷宫,到达了神殿的中心。神殿的中心有一个宝箱。宝...

逐梦er的博客 2102

MiniMax H3本地部署实战:ComfyUI整合包安装与提速插件验证指南

在AIGC工具链快速演进的当下,本地部署内容生成模型成为许多创作者和开发者的关注焦点。本地部署意味着数据不出本机、可按需定制工作流,还能规避云端排队与外部依赖,其核心价值在于为内容生产提供可控、私密且可编程的生成环境。ComfyUI作为模块化节点式AI绘画工具,凭借灵活的工作流编排和API接口能力,成为承载这类模型的热门平台。MiniMax H3作为支持文本、参考图等多种输入的内容生成模型,与ComfyUI结合后,既适合个人进行概念验证,也能用于团队私有化流程搭建。实际落地过程中,中文整合包显著降低了环境配

weixin_29042035的博客 294

计算机基础知识---位运算的应用

Author:baiyucraft BLog: https://blog.youkuaiyun.com/hjj19991111 前置学习: 计算机基础知识—位运算的简介   在了解位运算后,我们要明白一点:为什么要学习位运算呢。其实很重要的一个原因是因为位运算速度极其快,在写算法题或者程序时,将一些操作换成位运算,会大大提升程序的性能。以下就是一些位运算的应用 1.位运算实现乘除: 原理: 右移1位,相当于整除2;a左移1位,相当于乘以2 a &gt;&gt; n # 将a整除2^n a &lt;&lt; n

baiyucraft的博客 766

MacX DVD Ripper Pro for Mac(DVD解码器) 6.2.120190416免激活版

只需要5分钟即可转档一张DVD光碟!并允许我们在编码之前预览、编辑、裁剪、修剪或扩展视频。第一款也是唯一一款能够支持DVD到MP4,H.264,MOV,FLV,MPEG4等所有格式DVD(新DVD,99-标题DVD,损坏和无法播放的DVD)和翻录DVD / ISO映像的工具,AVI,QT,MP3等。借助350多种预设配置文件MacX DVD Ripper Pro for Mac(DVD解码器) 6...

llhf688的博客 890

LQR控制算法调参指南:如何通过Bryson‘s Rule和Trial-and-Error优化自动驾驶性能?

本文深入探讨了LQR控制算法在自动驾驶系统中的调参策略,从Bryson's Rule的基础应用到工程落地的优化方法。通过动态权重适应、非对角项引入和多目标权衡等技巧,提升车辆轨迹跟踪精度与操控舒适性。文章还介绍了数据驱动的调参流程和典型问题的解决方案,为自动驾驶工程师提供实用指南。

kkk56的博客 1024

按位运算符& | ~ ^ >> <<

大多数语言都提供了按位运算符,按位运算符在c,c++等语言中运用广泛,而在JS,AS等脚本语言中则没有太多的应用例子,有时候,适当的使用按位运算符会取得很好的效果。 下面根据自己的认知简单的谈一下js中的位操作使用(同样适用于其他语言),如果有错误,欢迎指正(本文中所有示例,都位一字节8位,具体位数因所使用的编程语言不同,而不同,java int型为4字节32位,位数不同会导致不同的计算结果请注

椰汁菠萝 4689

流体动力学仿真软件:CFX_(10).案例实践:复杂流场分析

在“Phases”选项卡中,定义参与仿真的不同相。例如,如果您要分析气液两相流,可以定义“Air”和“Water”两个相。

kkchenjj的博客 1687

记C语言 &,|,^,>>,<<用法

目录 1、&amp;(按位与) 2、|(按位或) 3、^(按位异或) 4、&gt;&gt;(右移操作符) 5、&lt;&lt;(左移操作符) 一个位运算应用例题: 1、&amp;(按位与) 操作用法:有0为0,全1为1。 2、|(按位或) 操作用法:有1为1,全0为0。 3、^(按位异或) 操作用法:相同为0,相异为1。 4、&gt;&gt;(右移操作符) 操作用法: 算术右移:右边丢弃,左边补原符号位(考虑符号位)。 逻辑右移:右边丢弃,左边补0(不考虑符...

多低调的博客 8942

手把手教你学Simulink--基于新能源与储能系统的场景实例:压缩空气储能(CAES)系统热力学建模

本文介绍了使用Simulink进行压缩空气储能(CAES)系统热力学建模的详细步骤。系统模型包含压缩机、储气装置、膨胀机、热交换器和控制器等核心模块,通过MATLAB函数计算各部件参数,并设置仿真条件。文章详细说明了从模型创建到性能评估的完整流程,包括压缩/膨胀过程的能量转换、温度压力变化等关键指标分析。该建模方法可验证设计方案的有效性,并为系统优化提供参考,适用于新能源与储能领域的研究与应用。

MHD0815的博客 9174

AutoSAR系列讲解(入门篇)2.2-SWC的类型

该章讲解了两种SWC的分类,并且映射到实际的工程中应该是具体的什么文件类型

雪云飞星的博客 4万+

css除法,css中能加减乘除吗

css中能加减乘除。在css中可以使用calc()函数来进行“加减乘除”四则运算,它允许使用“+”、“-”、“*”、“/”这四种运算符,可以混合使用%、px、em、rem等单位进行计算。本教程操作环境:windows7系统、CSS3版、Dell G3电脑。css中能加减乘除。数学表达式calc()是CSS中的函数,主要用于数学运算。它允许使用+、-、*、/这四种运算符,可以混合使用%、px、em、...

weixin_36448083的博客 2987

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Python位运算符:&、|、^、~、<<、>>

Python位运算符:&amp;、|、^、~、&lt;&lt;、&gt;&gt; 运算符 描述 示例 &amp; 按位与,都为1,结果为1,有一个0,就为0 a &amp; b | 按位或,都为0,结果为0,有一个1,就为1 a | b ^ 按位异或,不同,结果为1,相同,就为0 a ^ b ~ 按位取反,1变0,0变1 ~a &lt;&lt; 左移动,高位丢弃,低位补0 a &lt;&lt; 2,左移2位 &gt;&gt; 右移动,丢弃右移位数,高位补0 a &gt;&

未完待续…… 5591

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

位运算(&、|、^、~、>>、<<)

位运算(&amp;、|、^、~、&gt;&gt;、&lt;&lt;) 1.位运算概述 从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。 口说无凭,举一个简单的例子来看下CPU是如何进行计算的,比如这行代码: int a = 35; int b = 47; int c = a + b; 计算两个数的和,因为在计算机中都是以二进制来进行运算,所以上面我们所给的int变量会在机器内部先转换为二进制在进行相

scarificed的博客 2万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

关于C语言位运算那些事儿(&、|、~、^、<<、>>)

关于C语言位运算那些事儿(&、|、~、^、<<、>>),耗时6小时写了这篇关于位运算的内容,(微笑)希望这份内容能给大家带来一点收获。一起来看看吧!

Code_流苏:在代码中寻诗意,在实践中觅真知 1522

C++ 位运算(&、|、^、~、>>、<<)超超超详细

位运算在C++编程中具有重要的地位,它涉及到计算机底层的操作,具有高效的特性。通过深入理解和掌握位运算的各种操作符、用法、应用场景、性能优化、常见陷阱和最佳实践,以及进阶主题中的相关知识,可以提升C++程序员的编程能力和代码质量。无论是在底层开发、算法优化、图形处理还是密码学等领域,位运算都有着广泛的应用前景。希望读者能够通过本文的学习,对C++位运算有一个全面而深入的了解,并在实际编程中灵活运用位运算来解决各种问题。

正在在摸鱼的博客 1373

python位运算(&、|、^、~、>>、<<)

位运算概览 符号 描述 运算规则 &amp; 与 两个位都为1时,结果才为1 | 或 两个位都为0时,结果才为0 ^ 异或 两个位相同为0,相异为1 ~ 取反 0变1,1变0 &lt;&lt; 左移 各二进位全部左移若干位,高位丢弃,低位补0 &gt;&gt; 右移 各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移) 1

sereasuesue的博客 2万+

位运算符(&,|,~,^,同或,>>,<<)

目录 1.按位与(&amp;) 2.按位或(|) 3.按位取反(~) 4.异或(^) 5.同或(~) 6.左移(&lt;&lt;) 7.右移(&gt;&gt;) 什么是位运算符: 位运算是直接对整型数据的二进制进行运算。 1.按位与(&amp;) 将参加运算的两个数据,按二进制位进行"与"运算。两个都是一则为一 举例: 3 &amp; 5 3 =&gt; 0000 0000 0000 0011 5 =&gt; 0000 0000 0000 0101 &amp; 000...

w7486的博客 4万+

JavaScript——&、|、^、~位运算

JavaScript——&amp;、|、^、~位运算 JavaScript——&amp;、|、^、~位运算 &amp;(与)位运算符 |(或)位运算符 ^(异或)为运算符 ~(非)位运算符 位运算顾名思义就是二进制的计算,需要将十进制换算成二进制在进行相关运算。在实际的开发中用到的时候不多,主要有以下两点: 需要将十进制在脑海里转成二进制,挺麻烦的。 在进行大的位数运算的时候可能会出问题,因为是计算二进制,第一位控制正负,有可能算的时候变成负数了。 &amp;(与)位运算符

qq_34205932的博客 1140

位运算&、^、|、~

位运算之二进制理解 目的 在我的上一篇博客中,我提到了异或运算,但是并未涉及到我们计算机底层的二进制计算,今天我们就来浅谈一下底层的二进制位运算是怎么进行位运算的 位运算符分类 符号 作用 运算规则 计算实例 &amp; 与运算 当我们将数据转换为二进制后,只有在同一位数同为1的返回1;否则将返回0 0&amp;0=0 1&amp;0=0 0&amp;1=0 1&amp;1=1 I 或运算 当我们将数据转化成二进制后,只要在同一位数出现了有一个为1的情况,我们的结果都将返回1;只有

qq_43325476的博客 465

位运算符(&、|、^、~等)

(转载) 按位与运算符(&amp;) 参加运算的两个数据,按二进制位进行“与”运算。 运算规则:0&amp;0=0;0&amp;1=0;1&amp;0=0;1&amp;1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&amp;5即0000 0011 &amp; 0000 0101 = 0000 0001因此,3&amp;...

Marccco的博客 3万+

【C#】位运算符(&,|,^,~ ,>>)

位运算符 常用位运算符有&amp;,|,^ 真值表如下 p q p&amp;q p/ q p^q 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 注:0表示false,1表示true 即是 0&amp;0=0 0&amp;1=0 1&amp;1=1 1&amp;0=0 0|0=0 0|1=...

GreAmbWang的博客 3225
上一篇: P1161 开灯(位运算)
下一篇: Dis2(dfs树)
郭晋龙
博客等级 码龄6年 940粉丝 449原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭晋龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值