位运算符的介绍和使用

我们先来介绍位运算符的一些知识:

1.位运算符

(1).& 有0就是0

(2).有1就是1

(3).^相同为0,不同为1

2.判断第x为是0还是1

先将1<<x,在n&1,如果结果为0则是0,否则是1.

3.将第n位修改为1

1<<x,然后1|x;

4.将第x位修改为0

1<<x,然后1&x

5.位图的思想

就是利用哈希表来解决一些问题。

6.提取最右侧的1

n&(-n)

7.去掉最右侧的1

n&(n-1)

8.优先级

能加括号就加括号

9^运算率

a^0=a;

a^a=0;

(a^b)^c=a^(b^c);

我们来看几道例题:

class Solutionpublic:bool isUnique(string astr)

// 利用鸽巢原理来做的优化if(astr.size() > 26) return false;

1213

int bitMap = 0;for(auto ch : astr)

inti=ch-'a';//先判断字符是否已经出现过if(((bitMap >> i) & 1) == 1) return false;

return true;

};

利用位运算实现两个整数的和

#include<iostream>

#include<string>

using namespace std;

int main()

{

int a, b;

cin >> a >> b;

while (b != 0) {

int x;

x = a ^ b;

b = (a & b) << 1;

a = x;

}

cout << a << endl;

return 0;

}

class Solution {

public:

int missingNumber(vector<int>& nums) {

int ret=0;

for(auto e: nums){

ret=ret^e;

}

int n=nums.size();

for(int i=0;i<=n;i++){

ret^=i;

}

return ret;

}

};

相关推荐
浮链序2 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm
小O的算法实验室2 小时前
IEEE TMC,面向异构物联网的多目标量子行为拓扑优化算法
算法
liliangcsdn3 小时前
派息率指标的应用探索和分析
大数据·算法
垆边人似月.3 小时前
华为机试题 :两数之和
c++·算法·华为
默默开发4 小时前
物流行业可用算法方向
算法
垆边人似月.4 小时前
华为机试题 :有效的括号
c++·算法·华为
A加ITIL教练长河achotsao4 小时前
ITIL Master 战略领导者课后系列分享:AI编程正在重新划分研发与运维的边界
算法
hahaha60164 小时前
FPGA+ARM实现AWB的全流程
人工智能·嵌入式硬件·算法·计算机视觉·fpga开发
李洱4 小时前
LangChain 和 LangGraph 的区别:核心原理与使用场景
算法
夏幻灵4 小时前
每日一题:LeetCode 206:反转链表——三指针与原地反转详解
算法·leetcode·链表