C语言 n>>=1 中的>>=是什么意思?

右移运算符

比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。

运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。

单目运算符

一元运算符只对一个表达式执行操作,该表达式可以是数值数据类型类别中的任何一种数据类型。一些只需要一个操作数的运算符称为一元运算符(或单目运算符)。

例:5 + 6 和 5++ ------在C语言中,5++是非法的。

前者5 和 6为操作数+ 为运算符,但是 + 需要两个操作数,所以它不是一元运算符,而是二元运算符,而后者只需要一个操作数,所以 ++ 为一元运算符。

一元运算符有:"sizeof",'+'——正号,'-'——负号,'!', '++', '--' , '~'——位非,返回数字的非。

转载于:https://zhidao.baidu.com/question/405442987.html

———————————————————————————————————————————————————————————————— 转载麻烦附上本文链接和本声明,感谢! 博主<叶家星>博客园链接如下:https://www.cnblogs.com/yejiaxing-01/
原文地址:https://www.cnblogs.com/yejiaxing-01/p/12634305.html