1. 操作符基础概念解析
操作符是编程语言中用于执行特定操作的符号或关键字。它们构成了程序逻辑的基础构件,就像数学中的加减乘除符号一样。在计算机底层,所有操作最终都会转化为二进制操作,因此理解操作符与二进制的关系至关重要。
1.1 操作符的分类体系
操作符通常按操作数数量分为三类:
- 一元操作符:作用于单个操作数,如递增(++)、递减(--)、取地址(&)等
- 二元操作符:需要左右两个操作数,如算术运算(+ - * /)、比较运算(> < ==)等
- 三元操作符:唯一的三目运算符 ? : ,需要三个操作数
从功能维度看,主要包含:
- 算术操作符:+ - * / %
- 位操作符:& | ^ ~ << >>
- 逻辑操作符:&& || !
- 关系操作符:> < >= <= == !=
- 赋值操作符:= += -= 等复合赋值形式
注意:不同编程语言的操作符优先级可能不同,建议总是使用括号明确运算顺序,避免依赖记忆优先级。
1.2 二进制视角下的操作符本质
计算机底层使用二进制表示所有数据,操作符的运算最终都会转化为位级操作。例如:
- 加法运算实际上是二进制位的相加与进位处理
- 乘法运算可转化为移位和加法组合
- 逻辑运算直接对应位与、位或操作
理解这一点对性能优化和底层开发尤为重要。在嵌入式系统或高频交易等场景,直接使用位操作往往比高级运算效率更高。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 进制转换与数值表示
2.1 常用进制及其转换原理
计算机科学中常见的进制包括:
- 二进制(基数为2):仅使用0和1
- 八进制(基数为8):使用0-7
- 十进制(基数为10):日常使用的数字系统
- 十六进制(基数为16):使用0-9和A-F
进制转换的核心原理是位权展开法。以二进制转十进制为例:
code复制1011(binary) = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 11(decimal)
十六进制与二进制的特殊关系使得它们可以快速互转:
code复制A3(hex) = 1010 0011(binary) // 每位十六进制对应4位二进制
2.2 原码、反码与补码体系
计算机使用补码表示有符号数,原因在于它能统一处理加减法且不存在+0/-0问题。三种编码方式的区别:
| 表示法 | 正数表示 | 负数表示 | 特点 |
|---|---|---|---|
| 原码 | 符号位0+绝对值 | 符号位1+绝对值 | 存在±0 |
| 反码 | 同原码 | 符号位不变,数值位取反 | 仍存在±0 |
| 补码 | 同原码 | 反码+1 | 唯一表示0 |
补码的运算优势:
- 减法可转化为加法:A - B = A + (-B)
- 溢
