计算机运算符是用于执行算术、逻辑和位操作的符号。它们在编程中起着至关重要的作用,因为它们决定了程序如何计算表达式的结果。以下是一些常见的算术、逻辑和位运算符的详解:
1. 算术运算符:
- 加法(+):将两个操作数相加,结果存储在第一个操作数的位置。
- 减法(-):从第一个操作数中减去第二个操作数,结果存储在第一个操作数的位置。
- **乘法(*)**:将两个操作数相乘,结果存储在第一个操作数的位置。
- 除法(/):将第一个操作数除以第二个操作数,结果存储在第一个操作数的位置。
- 取模(%):返回第一个操作数对第二个操作数的余数,结果存储在第一个操作数的位置。
- 幂运算符(^):返回第一个操作数的第二个操作数次方,结果存储在第一个操作数的位置。
- 求余(%):返回第一个操作数除以第二个操作数后的余数,结果存储在第一个操作数的位置。
- 求和(+):返回第一个操作数与第二个操作数之和,结果存储在第一个操作数的位置。
- 求差(-):返回第一个操作数与第二个操作数之差,结果存储在第一个操作数的位置。
- **求积(*)**:返回第一个操作数与第二个操作数之积,结果存储在第一个操作数的位置。
- 求商(/):返回第一个操作数与第二个操作数之商,结果存储在第一个操作数的位置。
- 求阶乘(!):返回第一个操作数的第二个操作数次方,结果存储在第一个操作数的位置。
2. 逻辑运算符:
- 等于(==):比较两个操作数是否相等,如果相等则返回真(True),否则返回假(False)。
- 不等于(!=):比较两个操作数是否不相等,如果不相等则返回真(True),否则返回假(False)。
- 小于(<):比较两个操作数的大小关系,如果第一个操作数小于第二个操作数则返回真(True),否则返回假(False)。
- 大于(>):比较两个操作数的大小关系,如果第一个操作数大于第二个操作数则返回真(True),否则返回假(False)。
- 小于等于(<=):比较两个操作数的大小关系,如果第一个操作数小于或等于第二个操作数则返回真(True),否则返回假(False)。
- 大于等于(>=):比较两个操作数的大小关系,如果第一个操作数大于或等于第二个操作数则返回真(True),否则返回假(False)。
- 逻辑非(~):反转操作数的逻辑值,如果操作数为真(True)则返回假(False),如果操作数为假(False)则返回真(True)。
3. 位运算符:
- 与(&):将两个操作数的二进制表示进行逐位比较,只有当两个操作数在同一位置上的位都为1时,结果才为1,否则为0。
- 或(|):将两个操作数的二进制表示进行逐位比较,只要有一个操作数在该位置上的位为1,结果就为1,否则为0。
- 异或(^):将两个操作数的二进制表示进行逐位比较,只有当两个操作数在同一位置上的位不同时,结果才为1,否则为0。
- 左移(<<):将一个操作数的二进制表示向左移动指定的位数,左侧空出的位用0填充。
- 右移(>>):将一个操作数的二进制表示向右移动指定的位数,右侧空出的位用0填充。
- 无符号右移(>>=):将一个操作数的二进制表示向右移动指定的位数,右侧空出的位用0填充。
- 无符号左移(<<=):将一个操作数的二进制表示向左移动指定的位数,左侧空出的位用0填充。
- 掩码(&):将一个操作数与另一个操作数进行逐位比较,只有当两个操作数在同一位置上的位都为1时,结果才为1,否则为0。
- 掩码与(&&):将一个操作数与另一个操作数进行逐位比较,只有当两个操作数在同一位置上的位都为1时,结果才为1,否则为0。
- 掩码或(||):将一个操作数与另一个操作数进行逐位比较,只要有一个操作数在该位置上的位为1,结果就为1,否则为0。
- 掩码异或(^^):将一个操作数与另一个操作数进行逐位比较,只有当两个操作数在同一位置上的位不同时,结果才为1,否则为0。
- 掩码左移(<<):将一个操作数的二进制表示向左移动指定的位数,左侧空出的位用0填充。
- 掩码右移(>>):将一个操作数的二进制表示向右移动指定的位数,右侧空出的位用0填充。
- 掩码无符号左移(<<=):将一个操作数的二进制表示向左移动指定的位数,左侧空出的位用0填充。
- 掩码无符号右移(>>=):将一个操作数的二进制表示向右移动指定的位数,右侧空出的位用0填充。
- 掩码无符号与(&&=):将一个操作数与另一个操作数进行逐位比较,只有当两个操作数在同一位置上的位都为1时,结果才为1,否则为0。
- 掩码无符号或(||=):将一个操作数与另一个操作数进行逐位比较,只要有一个操作数在该位置上的位为1,结果就为1,否则为0。
- 掩码无符号异或(^^=):将一个操作数与另一个操作数进行逐位比较,只有当两个操作数在同一位置上的位不同时,结果才为1,否则为0。
- 掩码无符号左移(<<=):将一个操作数的二进制表示向左移动指定的位数,左侧空出的位用0填充。
- 掩码无符号右移(>>=):将一个操作数的二进制表示向右移动指定的位数,右侧空出的位用0填充。
- 掩码无符号无符号与(&&=):将一个操作数与另一个操作数进行逐位比较,只有当两个操作数在同一位置上的位都为1时,结果才为1,否则为0。
- 掩码无符号无符号或(||=):将一个操作数与另一个操作数进行逐位比较,只要有一个操作数在该位置上的位为1,结果就为1,否则为0。
- 掩码无符号无符号异或(^^=):将一个操作数与另一个操作数进行逐位比较,只有当两个操作数在同一位置上的位不同时,结果才为1,否则为0。
- 掩码无符号无符号左移(<<=):将一个操作数的二进制表示向左移动指定的位数,左侧空出的位用0填充。
- 掩码无符号无符号右移(>>=):将一个操作数的二进制表示向右移动指定的位数,右侧空出的位用0填充。
- 掩码无符号无符号无符号与(&&=):将一个操作数与另一个操作数进行逐位比较,只有当两个操作数在同一位置上的位都为1时,结果才为1,否则为0。
- 掩码无符号无符号无符号或(||=):将一个操作数与另一个操作数进行逐位比较,只要有一个操作数在该位置上的位为1,结果就为1,否则为0。
- 掩码无符号无符号无符号异或(^^=):将一个操作数与另一个操作数进行逐位比较,只有当两个操作数在同一位置上的位不同时,结果才为1,否则为0。
- 掩码无符号无符号无符号左移(<<=):将一个操作数的二进制表示向左移动指定的位数,左侧空出的位用0填充。
- 掩码无符号无符号无符号右移(>>=):将一个操作数的二进制表示向右移动指定的位数,右侧空出的位用0填充。
- 掩码无符号无符号无符号无符号与(&&=):将一个操作数与另一个操作数*