【C++】运算符

本文介绍了C++中的位运算符,包括位移运算符(左移<<和右移>>)、位求反运算符(~)以及位与(&)、位或(|)、位异或(^)运算符。详细讲解了这些运算符的使用规则和效果,如位移运算符的移动规则,位求反运算符对整数类型的位进行翻转,以及位与、位或、位异或的逻辑运算。
摘要由CSDN通过智能技术生成

位运算符

位运算符作用于整数类型的运算对象,并把运算对象看成是二进制位的集合。位运算符提供检查和设置二进制位的功能,标准库类型 bitset 类也可以表示任意大小的二进制位集合,所以位运算符也能用于 bitset 类。

运算符 功能 用法
~ 位求反 ~ expr
<< 左移 expr1 << expr2
>> 右移 expr1 >> expr2
& 位与 expr & expr
^ 位异或 expr ^ expr
| 位或 expr

一般来说,如果运算对象是“小整型”,则它的值会被自动提升。

位运算对于符号位的处理没有明确规定。

位移运算符

左移运算符(<<)和右移运算符(>>)的内置含义是对其运算对象执行基于二进制位的移动操作,首先令左侧运算对象的内容按照右侧运算对象的要求移动指定位数,然后将经过移动的左侧运算对象的拷贝作为求值结果。其中,右侧运算对象不能为负。

  • 左移运算符(<<) 在右侧插入值为 0 的二进制位。
  • 右移运算符(>>) 的行为则依赖于其左侧运算对象的类型。(无符号类型:0 | 有符号类型:符号位或 0 )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值