2488. 位运算【模板】
1000ms
256MB
简单
模板题
位运算
题目描述
位运算(Bitwise Operation)是直接对整数在内存中的二进制位进行操作。请编写一个程序,输入两个非负整数 $a$ 和 $b$,依次输出它们进行以下四种位运算的结果:
1. **按位与 (&)**:只有对应的两个二进位均为 1 时,结果位才为 1。
2. **按位或 (|)**:只要对应的两个二进位有一个为 1 时,结果位就为 1。
3. **按位异或 (^)**:对应的两个二进位不相同时,结果位为 1;相同时为 0。
4. **按位取反 (~)**:将每个二进位 0 变 1,1 变 0。在本题中,请输出 $a$ 取反后的结果。
输入格式
- 一行包含两个非负整数 $a$ 和 $b$。
输出格式
- 输出共四行,每行一个整数,依次为:
- 第一行:$a$ & $b$ 的结果
- 第二行:$a$ | $b$ 的结果
- 第三行:$a$ ^ $b$ 的结果
- 第四行:~$a$ 的结果
样例 1
输入 (Input)
输出 (Output)
样例说明
以二进制形式观察:
- $a=3 (011)_2, b=5 (101)_2$
- $a \ \& \ b = (001)_2 = 1$
- $a \ | \ b = (111)_2 = 7$
- $a \ \hat{} \ b = (110)_2 = 6$
- $\sim a$:在补码表示下,对 $3$ 取反得到 $-4$。
- $0 \le a, b \le 10^9$
› 输入 stdin
CtrlShiftEnter
‹ 输出 stdout
错误 stderr
操作成功