0x01

\(\Huge \color{Cadetblue}{\texttt{0x01 位运算}}\)

\(\color{cadetblue}{\textbf{1.介绍}}\)

通过对一个个 \(\operatorname{bit}\) (二进制位)的操作,提高程序运行时空效率,降低编程复杂度。

\(\color{cadetblue}{\textbf{2.操作}}\)

  1. $,|,~,^,<<,>> 等基本操作
  2. lowbit(x) = x & (-x) 表示 \(x\) 在二进制下最低位 \(1\) 及后面的 \(0\)
  3. \(n\) 的第 \(k\) 位:(n >> k) & 1
  4. \(n\) 的后 \(k\) 位:n & ((1 << k) - 1)
  5. \(n\) 的第 \(k\) 位取反:n ^ (1 << k)
  6. \(n\) 的第 \(k\) 位赋 \(1\):n | (1 << k)
  7. \(n\) 的第 \(k\) 为赋 \(0\):n & (~(1 << k))

\(\color{cadetblue}{\textbf{3.【模板】快速幂}}\)

int Power(int a, int b, int p){
	int res = 1;
	for(; b; b >>= 1){
		if(b & 1)res = 1ll * res * a % p;
		a = 1ll * a * a % p;
	}
	return res;
}
上一篇:web基础_0x01_Go搭建一个Web服务器


下一篇:keil笔记:流水灯