1.算术操作符:+ - * / % ,加减乘与数学上的算法相同,但 / 在运算两个整型数据时,算的是整数除法,不会四舍五入,只取整数部分,要算小数运算两个操作数至少要有一个浮点型数据.
2.%(整型取模操作符)算的是两个整型操作符的余数,浮点数不能计算.
3.单双目操作符:定义操作数只有一个的操作符叫做单目操作符,如:&(取地址操作符)取出变量的地址,*(解引用操作符),~(按位取反操作符),++(自增操作符)--(自减操作符),自增自减分前置与后置,前置(++i)是先将i的值加一在使用i,后置(i++)则是先使用i再加一,但最终的结果都会造成i的值加1.
4.双目操作符:操作数有两个,计算顺序一般根据操作符的优先级,如a+b*c先算乘法再算加法,若操作符的优先级相同,则依照结合性(左到右还是右到左).
5.逻辑操作符:&&(并且),&&两边条件只有同时满足整个表达式才为真.
||(或)||两边表达式有一个为真就行.
短路现象:若&&左边的表达式为假,则不会判断右边表达式.
若||左边为真,则不会判断右边表达式.
6.关系操作符:==(判断相等操作符),!=(判断不等操作符),> , < , >= , <=.\
7.赋值操作符:=, eg:a = n 即将n的值赋给a,. += eg:a+=b即为:a=a+b;-=,*=,%=。/=,^=
<<= , >>=同理.
8.位操作符:<<(左移操作符),>>(右移操作符),^按位异或操作符, &按位与操作符,|按位或操作符,~按位取反操作符.(注:位操作符操作都是补码)
tip:整型有三种表达形式,分别为原码,反码与补码(均为二进制为的序列,其中第一位为符号位,1为负数,0为正数),正整数的原反补码都形同,负数的反码为原码符号位不变,数值位按位取反,补码位反码+1,若从补码变原码,则取补码的反码再+1. 其中,整数在内存中存放的是补码.
<<:将补码的二进制序列向左移动一位,并在末尾补个0.
>>:右移分为算术右移与逻辑右移;逻辑为将补码的二进制序列向右移动一位,并在开头尾补个0.
算术位:逻辑为将补码的二进制序列向右移动一位,并在开头尾补个符号位.
在vs上使用的是算术右移.
^:将两个操作数的二进制序列对比,相同为0,相异为1.
~:将操作数的二进制序列按位取反,0变1,1变0,包括符号位.
&:两个操作数的二进制序列按位有0为0,两个1才为1.
|:两个操作数的二进制序列按位有1为1,两个0才为0.
9.sizeof操作符,计算类型大小或数值大小,单位为字节.
标签:右移,操作数,语言,二进制,补码,---,按位,操作符 From: https://blog.csdn.net/2402_87383600/article/details/142343689