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

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

一、常见位运算

按位与          & 有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
(符合交换律)

九、相关题目链接

力扣


相关文章
|
2月前
函数、极限、连续——刷题(9
函数、极限、连续——刷题(9
20 2
|
2月前
函数、极限、连续——刷题(1
函数、极限、连续——刷题(1
30 2
|
2月前
函数、极限、连续——刷题(8
函数、极限、连续——刷题(8
25 2
|
2月前
函数、极限、连续——刷题(4
函数、极限、连续——刷题(4
26 1
|
2月前
函数、极限、连续——刷题(6
函数、极限、连续——刷题(6
28 0
|
2月前
函数、极限、连续——刷题(7
函数、极限、连续——刷题(7
32 0
|
26天前
|
机器学习/深度学习 算法 Serverless
利用无穷级数逼近计算幂运算与开根号——Python实现
使用泰勒级数逼近法,本文介绍了如何用Python计算特殊幂运算,包括分数次幂和开根号。通过定义辅助函数,如`exp`、`getN_minus_n`、`multi`和`getnum`,实现了计算任意实数次幂的功能。实验结果显示,算法能有效计算不同情况下的幂运算,例如`0.09^2`、`1^2`、`0.25^2`、`0.09^(0.5)`、`1^(0.5)`和`0.25^(0.5)`。虽然精度可能有限,但可通过调整迭代次数平衡精度与计算速度。
|
13天前
|
算法 Java
Java数据结构与算法:位运算之位移操作
Java数据结构与算法:位运算之位移操作
|
2月前
|
算法 测试技术 C#
【二进制求公约数】【数学】【数论】2543. 判断一个点是否可以到达
【二进制求公约数】【数学】【数论】2543. 判断一个点是否可以到达
剑指offer_发散思维---数值的整数次方
剑指offer_发散思维---数值的整数次方
53 0