C语言之数学运算
C语言基本运算符
运算符 | 说明 | 例子 | 备注 |
---|---|---|---|
= | 赋值运算符 | a = b; | |
+、-、*、/、() | 基本四则运算 | a = (b + c) * d; | |
% | 求余运算符 | a = b % 2; | 计算速度最慢且只能针对整数 |
&、| 、^、~ |
位运算 | a = ~b | c; |
计算速度最快 |
<<、>> | 左移和右移 | a = b >> 2; |
类型转换
- 显式类型转换(强制类型转换)
- 隐式类型转换
位运算
- 在二进制表示下进行的一类运算
- 二进制位与对应二进制位进行的一类运算
- 位运算只针对整型
- 使用位运算需要考虑代码可读性
1. 按位与运算符 &
- 单目:取地址
- 双目:按位与(全 1 则为 1,有 0 则为 0)
&运算 | 结果 |
---|---|
1 & 1 | 1 |
1 & 0 | 0 |
0 & 1 | 0 |
0 & 0 | 0 |
示例:%2 相当于 &1(整数判断奇偶性只与二进制的最后一位有关,若最后一位为 1 则为奇数)
2. 按位或运算符 |
按位或:有 1 则为 1 ,全 0 才为 0
| 运算 |
结果 |
---|---|
1 | 1 |
1 |
1 | 0 |
1 |
0 | 1 |
1 |
0 | 0 |
0 |
3. 按位异或运算符 ^
按位异或:相同为 0 ,不同为 1
&运 |
---|