TB椰程 TypeBuddy 打字搭子

位运算

CSP-J · 编程模板 · 片段 · cpp · 难度 2/5 · 共 346 字

按位与或异或及左右移运算

  • 基础
  • 位运算

前置内容

正文

// 位运算:直接对整数的二进制位操作
// 左移 << 相当于乘 2^n,右移 >> 除 2^n
int a = 6;
// 110 左移 2 位变 11000,即 24
int b = a << 2;
// 右移 1 位:110 变 11,结果 3
int c = a >> 1;
// 按位与 &:两位都为 1 才得 1
// 判奇偶:x & 1 为 1 是奇数,0 是偶
int odd = a & 1;
// 异或 ^:不同为 1,相同为 0
int x = 5, y = 3;
int xor_ab = x ^ y;
// 异或性质:a ^ b ^ b = a(b 消掉)
// 用异或交换 a、b,无需临时变量
a = a ^ b;
b = a ^ b;
a = a ^ b;

CSP-J · 编程模板的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK