操作符详解(4)
2026/6/16 10:38:42 网站建设 项目流程

(1)移位操作符

①左移操作符<<

就是将数字的二进制位向左移动一位。

如:1的二进制位00000000000000000000000000000001

那1<<1表示的是1的二进制位向左移动一位,就变成了00000000000000000000000000000010

②右移操作符>>

1.逻辑右移:

左边用零填充,右边丢弃。

2.算术右移:

左边用原该值的符号位填充,右边丢弃。

通常采用的都是算术右移。

如1>>1,表示的数字1的二进制位向右移动一位,就变成了

00000000000000000000000000000000

(2)位操作符

①&:对应的二进制位有0则为0,两个同时为1才为1。

如:2&3

00000000000000000000000000000010

00000000000000000000000000000011

得到的结果就是

00000000000000000000000000000010

②||:只要有1就是1,两个同时为0才为0。

③^:相同为0,相异为1

④~:按位取反

如:

00000000000000000000000000000001

取反之后就得到了

111111111111111111111111111111111111111110

注意:任何值^相同值等于零,如:3^3=0

0^任何值=任何值,如:0^3=3

(3)逗号表达式

整个表达式的结果为最后一个表达式的结果。

如:a=(3,5,7);

那么a只会被赋值为7

(4)操作符的优先级和结合性

①操作符先看优先级。

②当优先级相同时,结合性说了算

具体优先级与结合性,请上网搜索。

(5)表达式求值

①整型提升:表达式中的字符和短整型操作数在使用之前被转化为普通整形,这种转化称为整形提升,有符号的整数提升是按照变量的数据类型的符号位来提升的。无符号整数提升,高位补零。

②算术转换:讨论的类型大于等于整型类型的。

低位的向高位的转化。

其中int<unsigned int<long<unsigned long<float<double<long double

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询