操作符
算术操作符:+ - * /
%取模(余数)
移位操作符:>>(右移操作符)<<(左移操作符)
移动的是我们的二进制位
例如:
int main()
{
int a=2;
int b=2<<1;//向左移动1个二进制位
printf("%d\n",b);
return 0;
}
2的二进制序列是10 但a是放到整型里面的,我们说一个整型是4个字节,一个字节等于8bit位,所以我们要写出a(2)的二进制序列长度为32bit位就是:00000000 00000000 00000000 00000010,现在我们说把a向左移动一个二进制位所以他就变成:00000000 00000000 00000000 00000100,换算成十进制就是4
右移操作符同理,只不过是向右移动
位操作符:& | ^
&:按位与
|:按位或
^:按位异或
赋值操作符
= += -= *= /= &= ^= |= >>= <<=
//赋值操作符 给字符赋值
int main()
{
int a=2;
a=a+5; //这就叫做赋值
a+=5; //也可以这样去写
a=a-2;
a-=2;
a=a&3;
a%=3;
return 0;
}
单目操作符
! | 逻辑反操作 |
- | 负值 |
+ | 正值 |
& | 取地址 |
sizeof | 操作数的类型长度 (以字节为单位) |
~ | 对一个数的二进制按位取法 |
-- | 前置、后置-- |
++ | 前置、后置++ |
* | 间接访问操作符 (解引用操作符) |
(类型) | 强制类型转换 |
a+b: +有两个操作数,双目操作符
单目操作符:只有一个操作数