常见位运算的公式大全(建议收藏,以防走丢)

简介: 常见位运算的公式大全(建议收藏,以防走丢)

一、常见位运算

按位与          & 有0为0
按位或           | 有1为1
按位异或           ^ 相同为0,相异为一 \ 无进位相加
按位取反           ~ 每个二进制位的0变成1,1变成0
左移操作符          << 向左移动n个二进制位,右边补0
右移操作符          >> 向右移动n个二进制位,左边补符号位

二、位运算优先级

本着一条原则:能加括号就加括号,别给自己找麻烦

三、给一个数n,确定它的二进制的第x位是0还是1

我们要默认最低位的二进制位的下标为0

公式 (n >> x) & 1  结果为0,第x位就是0
结果为1,第x为就是1

四、将一个数n的二进制的第x位修改为1

公式  n |= (1 << x) 

五、将一个数n的二进制的第x位修改为0

公式 n &= ( ~(1 << x) )

六、提取二进制数最右侧的1

公式 n & -n

七、去除二进制数最右侧的1

公式 n & (n - 1)

八、异或运算( ^ )

a ^ 0 = a
a ^ a = 0
a ^ b ^ c = b ^ c ^ a
(符合交换律)

九、相关题目链接

力扣


相关文章
|
1天前
|
算法 测试技术 C++
【数学归纳法】【位运算】【异或】3068最大节点价值之和
【数学归纳法】【位运算】【异或】3068最大节点价值之和
|
28天前
|
算法 测试技术 C#
【二进制求公约数】【数学】【数论】2543. 判断一个点是否可以到达
【二进制求公约数】【数学】【数论】2543. 判断一个点是否可以到达
|
10月前
|
人工智能 vr&ar
数列分块入门 1 (单点查值,区间加法)
数列分块入门 1 (单点查值,区间加法)
51 0
|
11月前
|
人工智能 算法 C++
【基础算法】关于高精度计算的问题【很高位数数据的加减乘除(相关代码用C++实现)】
【基础算法】关于高精度计算的问题【很高位数数据的加减乘除(相关代码用C++实现)】
|
机器学习/深度学习 编解码 算法
RSA大作业 实现了 1.加、减、乘、除、移位、幂取模的高精度算法 2.利用快速幂和牛顿迭代法加速取模运算 3.中国剩余定理 4.Miller Rabin检测
RSA大作业 实现了 1.加、减、乘、除、移位、幂取模的高精度算法 2.利用快速幂和牛顿迭代法加速取模运算 3.中国剩余定理 4.Miller Rabin检测
162 0
RSA大作业 实现了 1.加、减、乘、除、移位、幂取模的高精度算法 2.利用快速幂和牛顿迭代法加速取模运算 3.中国剩余定理 4.Miller Rabin检测
|
人工智能
刷爆力扣之数组形式的整数加法
刷爆力扣之数组形式的整数加法
和为s的连续正数序列----滑动窗口经典题目(简单难度)
和为s的连续正数序列----滑动窗口经典题目(简单难度)
70 0
和为s的连续正数序列----滑动窗口经典题目(简单难度)
7-41 大数的乘法 (10 分)
7-41 大数的乘法 (10 分)
54 0

热门文章

最新文章