一句话理解
~ 按位取反。
为什么要学
较少直接用,因为涉及到符号位。
讲解
对有符号 int,~0 是 -1。常用掩码时要小心宽度。
取反后和原数加 1 是相反数(补码)。
例子
unsigned u = 1;
cout << (~1);
~1 在 32 位有符号下是 -2。初学少直接输出 ~。
常见错误
- 以为 ~1 是 0。
- 用 ~ 当逻辑非,逻辑非是 !。
第 215 课
~ 按位取反。
较少直接用,因为涉及到符号位。
对有符号 int,~0 是 -1。常用掩码时要小心宽度。
取反后和原数加 1 是相反数(补码)。
unsigned u = 1;
cout << (~1);
~1 在 32 位有符号下是 -2。初学少直接输出 ~。
逻辑非是 !,按位取反是 ~。
Ctrl / ⌘ + Enter 运行 · Tab 缩进
左右方向键也可翻课