c++编程中的基础数学问题

02位运算–异或

今天分享一下在编程当中尤其是在数学部分非常重要的一个部分支–位运算。别看位运算就那么几个简单的运算符号,如果能好好利用就能特定的问题中大放异彩。
这里我们先介绍一下异或运算(XOR),其应用于逻辑运算(离散数学中涉及到),异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:a⊕b = (¬a ∧ b) ∨ (a ∧¬b),他运用于二进制数运算中,通俗易懂地解释一下就是两个二进制数做异或运算,相同的值异或为0,不同则为1。
举个栗子:

这样的话,我们就可以总结出两个异或运算非常重要的性质!
1.两个相同的数异或为0。
2.一个数与0异或还是自己。

下面这个栗子我们看一下如何将异或运算运用到实战中。洛谷P1469
这道题意图十分明显,想让我们找出所有数字个数当中奇数个的并将它输出。题目所给的空间范围显然不是让我们用数组标记一类的方法去解决它,这时我们就想到了用异或运算。考虑到它的交换律和结合律,我们只要将所有的数字都进行异或运算就能得到最终结果。
废话不多说,上代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,a;
ll ans=0;
int main(){scanf("%d",&n);for(ll i=0;i<n;i++){scanf("%d",&a);ans^=a;}printf("%d",ans);return 0;
}
i++){scanf("%d",&a);ans^=a;}printf("%d",ans);return 0;
}

位运算--异或运算XOR相关推荐

  1. 常用技巧 —— 位运算 —— 异或运算实现两个数的交换

    [概述] 交换变量时,通常是借助一临时变量来赋值实现 void exchange(int a,int b) {int temp;temp=a;a=b;b=temp; } 当采用异或运算时,实现两变量交 ...

  2. 异或运算和几个经典题目解析

    认识异或运算 异或运算就记成无进位相加 0 1 1 1 0 1 1 1 0 异或运算满足交换律和结合律 同样一批数,不管选择什么样的顺序做异或运算,最后结果一定是一个 如何不使用额外的变量交换两个数 ...

  3. Python通过异或运算对email地址进行解密与加密

    不少网页的email地址出于防止收到垃圾邮件的目的,JS脚本里对email做加密保护,仅当在加载页面时才通过JS脚本解密再渲染出来.查看网页源代码可以发现关键词往往是cfemail,其后是一大串十六进 ...

  4. 训练三层BP神经网络实现异或运算 Python 代码实现

    本文主要使用下面的网络结构来完成 异或运算 异或运算 : 0^0 = 0, 1^0 = 1, 0^1 = 1, 1^1 = 0 . 上图的公式推导可以参考博文: 三层神经网络前向后向传播示意图 imp ...

  5. 二进制与运算、或运算、非运算

    与运算 "与"运算是计算机中一种基本的逻辑运算方式,符号表示为&,运算法则为遇0得0.也就是说只要有0,结果即为0. 举例 或运算 "或"运算符号表示为 ...

  6. 【位运算 异或】51nod区间xor

    [位运算 异或]51nod区间xor 题目 思路 O(1)求异或前缀和 证明博客可以看这个 代码 #include<bits/stdc++.h> using namespace std; ...

  7. 如何理解“异或(XOR)”运算在计算机科学中的重要性?(转自-阿里聚安全)...

    XOR加密是一种简单高效.非常安全的加密方法 一. XOR 运算 逻辑运算之中,除了 AND 和 OR,还有一种 XOR 运算,中文称为"异或运算". 它的定义是:两个值相同时,返 ...

  8. python异或运算怎么算_小强学Python+OpenCV之-1.4.4掩膜mask及位运算(与、或、非、异或)...

    问题引入 在小强学Python+OpenCV之-1.4.2裁剪一节,我们使用的是numpy数组切片功能实现图片区域的裁剪. 那么,如果我们想要裁剪图像中任意形状的区域时,应该怎么办呢? 答案是,使用掩 ...

  9. 常见位操作及运算应用举例:1,C语言中位运算符异或“∧”的作用​​​​​​​2,异或运算的作用3,(与运算)、|(或运算)、^(异或运算)

    1 C语言中位运算符异或"∧"的作用: 异或运算符∧也称XOR运算符.它的规则是若参加运算的两个二进位同号,则结果为0(假):异号则为1(真).即0∧0=0,0∧1=1,1∧1=0 ...

最新文章

  1. vue使用命令行构建完项目后_vue-cli 构建项目在IE中无法运行解决方式(build之后可运行)...
  2. java heep space错误解决办法
  3. python输入名字、输出欢迎你_python笔记3-输出输入、字符串格式化
  4. Python 利用pickle库查看pkl文件实例演示,pkl是什么类型的文件?怎么来打开它?
  5. 在导出本地文件时报了ABAP错误
  6. leetcode 507. 完美数(Java版)
  7. C++与C中const的比较以及const和define的比较
  8. sqlserver日志管理(转载)
  9. 访问不上服务器的任何端口
  10. c语言 结构体声明和引用、,结构体的声明与自引用
  11. git remote命令入门
  12. python 直方图的绘制方法全解_5种方法教你用Python玩转histogram直方图
  13. IE浏览器中调试各个IE版本方法
  14. 网络安全/渗透测试工具AWVS14.7下载
  15. 百度地图根据位置获取对应的位置中文
  16. 众包专访:高质量的开源众包
  17. 真无线蓝牙耳机哪个音质最好?2020高性价真无线蓝牙耳机音质排行榜!
  18. 【项目管理】测量绩效域管理
  19. Android Camera简单整理(一)-Camera Android架构(基于Q)
  20. 南华大学2022第五届网络安全竞赛wp

热门文章

  1. word点击退出时未保存怎么办?
  2. 极光 短信验证出现403
  3. python怎样编程_怎么自学python编程
  4. 普通运维人员真的就是秋后的蚂蚱吗?
  5. 最后防线:三款开源HIDS功能对比评估
  6. 1月6日科技资讯|小辣椒手机创始人王晓雁加入小米;手机 QQ 可显示对方实时电量
  7. vim黏贴代码格式混乱的解决方法
  8. PostgreSQL的学习心得和知识总结(八十九)|深入理解PostgreSQL数据库开源MPP扩展Citus再平衡函数rebalance_table_shards的实现原理
  9. Nginx proxy、rewrite、alias配置
  10. 红米4a android9.0,小米-红米4A/5A-通刷-LOS-Beta4.0-安卓9.0.0-来去电归属-农历等-本地化增强适配...