二进制运算主要分为以下三类,涵盖数据存储、处理及逻辑判断等多个方面:
一、算术运算
加法 采用逢二进一规则,例如:
- $0 + 0 = 0$
- $1 + 1 = 10$(向高位进位)
- $10 + 1 = 11$
减法
采用模二加法(借位规则),例如:
- $1 - 0 = 1$
- $1 - 1 = 0$
- $0 - 1 = 11$(借位后相当于加1)
乘法
通过左移被乘数并累加实现,例如:
- $1 times 1 = 1$
- $10 times 1 = 10$(左移1位)
除法
仅支持 $1 div 1 = 1$,其余情况无意义
二、逻辑运算
与运算(AND)
仅当两个输入都为1时输出1,否则为0,例如:
- $1 land 1 = 1$
- $1 land 0 = 0$
或运算(OR)
只要有一个输入为1,输出为1,例如:
- $1 lor 0 = 1$
- $0 lor 1 = 1$
异或运算(XOR)
当两个输入不同时输出1,否则为0,例如:
- $1 oplus 0 = 1$
- $0 oplus 1 = 1$
非运算(NOT)
单目运算,输出与输入相反,例如:
- $neg 0 = 1$
- $neg 1 = 0$
三、位运算
按位与(&)
对应位全为1时结果为1,例如:
- $51 & 5 = 1$
按位或(|)
只要对应位有一个为1,结果为1,例如:
- $51 | 5 = 55$
按位异或(^)
对应位不同为1,相同为0,例如:
- $51 ^ 5 = 54$
按位非(~)
单目运算,输出按位取反,例如:
- $sim 51 = -52$(有符号数表示)
应用场景
计算机底层: 所有数据存储和运算均基于二进制 逻辑判断
算法优化:例如最大公约数计算、数独求解等
通过组合这些运算,计算机能够高效处理复杂任务。