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

右移运算符

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

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

单目运算符

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

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

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

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

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

posted @ 2020-04-04 21:26  叶家星  阅读(4139)  评论(0编辑  收藏  举报