如形の博客

位运算#

  • & 如果 x,yx,y 的对应位都为 11,则结果为 11,否则结果为 00
  • | 如果 x,yx,y 的对应位都为 00,则结果为 00,否则结果为 11
  • ^ 如果 x,yx,y 的对应位不同,则结果为 11,否则结果为 00
  • << xx 左移 yy 位,高位删除,如:(1010)2<<2=1000(1010)_{2}\texttt{<<}2=1000
  • >> xx 右移 yy 位,低位删除,如:(1010)2>>2=0010(1010)_{2}\texttt{>>}2=0010

应用#

n^=1<<x;//反转第x位
n|=1<<x;//将第x位设为1
n&=~(1u<<x)//将第x位设为0 (1u 是无符号数 unsigned 的写法)
int m=n&((1<<x)-1);//取出n的前x个位
int k=(n>>x)&1;//获得n的第x位
cpp

优先级表#

~><<>>>&>^>|,同级运算从左向右。

如图,是所有运算的优先级表:

优先级表

ASCLL 码#

  • 090 \sim 9 : 485748 \sim 57
  • A \sim Z: 659065 \sim 90
  • a \sim a: 9712297 \sim 122

:::info 以数字 090 \sim 9 开头的都是数字,例如:0x3f3f3f\texttt{0x3f3f3f} :::

洛谷网校 CSP 初赛笔记
https://example.github.io/article/luogu-class-csp-j-note
Author 如形
Published at July 22, 2026
Comment seems to stuck. Try to refresh?✨