当前位置:首页 > 科技  > 软件

聊一聊C++中的位操作符

来源: 责编: 时间:2023-10-13 14:36:21 163观看
导读一、概述C++中,位操作符是一种对二进制位进行操作的运算符,用于对二进制数进行位移、与、或、异或等操作。在C++中,有6个位操作符,包括左移运算符(<<)、右移运算符(>>)、按位与运算符(&)、按位或运算符(|)、按位异或运算符(^)和按位

一、概述

C++中,位操作符是一种对二进制位进行操作的运算符,用于对二进制数进行位移、与、或、异或等操作。在C++中,有6个位操作符,包括左移运算符(<<)、右移运算符(>>)、按位与运算符(&)、按位或运算符(|)、按位异或运算符(^)和按位取反运算符(~)。这些运算符可以用于整数类型的变量,例如int、char、short、long等。n6H28资讯网——每日最新资讯28at.com

n6H28资讯网——每日最新资讯28at.com

二、左移和右移运算符

左移运算符(<<)将一个数的二进制位向左移动指定的位数,右边用0填充。例如,将二进制数1010左移2位后,变为101000。右移运算符(>>)将一个数的二进制位向右移动指定的位数,左边用0填充。例如,将二进制数1010右移2位后,变为10。n6H28资讯网——每日最新资讯28at.com

示例代码:n6H28资讯网——每日最新资讯28at.com

#include <iostream>  using namespace std;    int main() {     int num1 = 10;  // binary: 1010     int num2 = num1 << 2;  // left shift 2 bits, binary: 101000     int num3 = num1 >> 2;  // right shift 2 bits, binary: 10     cout << "num2: " << num2 << endl;     cout << "num3: " << num3 << endl;     return 0;  }

三、按位与运算符

按位与运算符(&)对两个数的二进制位进行与操作,即两个相应的二进制位都为1时,结果为1,否则为0。n6H28资讯网——每日最新资讯28at.com

示例代码:n6H28资讯网——每日最新资讯28at.com

#include <iostream>  using namespace std;    int main() {     int num1 = 10;  // binary: 1010     int num2 = 12;  // binary: 1100     int result = num1 & num2;  // result binary: 1000     cout << "result: " << result << endl;     return 0;  }

四、按位或运算符

按位或运算符(|)对两个数的二进制位进行或操作,即两个相应的二进制位中只要有一个为1时,结果为1,否则为0。n6H28资讯网——每日最新资讯28at.com

示例代码:n6H28资讯网——每日最新资讯28at.com

#include <iostream>  using namespace std;    int main() {     int num1 = 10;  // binary: 1010     int num2 = 12;  // binary: 1100     int result = num1 | num2;  // result binary: 1110     cout << "result: " << result << endl;     return 0;  }

五、按位异或运算符

按位异或运算符(^)对两个数的二进制位进行异或操作,即两个相应的二进制位有一个为1且另一个为0时,结果为1,否则为0。n6H28资讯网——每日最新资讯28at.com

示例代码:n6H28资讯网——每日最新资讯28at.com

#include <iostream>  using namespace std;    int main() {     int num1 = 10;  // binary: 1010     int num2 = 12;  // binary: 1100     int result = num1 ^ num2;  // result binary: 11010     cout << "result: " << result << endl;     return 0;  }

六、按位取反运算符

按位取反运算符(~)对一个数的二进制位进行取反操作,即把每个二进制位上的1变为0,0变为1。n6H28资讯网——每日最新资讯28at.com

示例代码:n6H28资讯网——每日最新资讯28at.com

#include <iostream>  using namespace std;    int main() {     int num1 = 10;  // binary: 1010     int result = ~num1;  // result binary: 0101     cout << "result: " << result << endl;     return 0;  }

七、位操作符的优先级和结合性

在C++中,位操作符的优先级比较低,低于加减乘除等算术运算符,但高于赋值运算符。位操作符的结合性是从左到右,即先对左边的操作数进行操作,再对右边的操作数进行操作。n6H28资讯网——每日最新资讯28at.com

示例代码:n6H28资讯网——每日最新资讯28at.com

#include <iostream>  using namespace std;    int main() {     int num1 = 10;  // binary: 1010     int num2 = 12;  // binary: 1100     int result = (num1 & num2) | (num1 ^ num2);  // result binary: 11110     cout << "result: " << result << endl;     return 0;  }

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-13513-0.html聊一聊C++中的位操作符

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Java抛出异常后,后续代码是否继续执行?

下一篇: Spring Cloud微服务架构:构建弹性和可伸缩的云原生应用

标签:
  • 热门焦点
  • 6月iOS设备好评榜:第一蝉联榜首近一年

    6月iOS设备好评榜:第一蝉联榜首近一年

    作为安兔兔各种榜单里变化最小的那个,2023年6月的iOS好评榜和上个月相比没有任何排名上的变化,仅仅是部分设备好评率的下降,长年累月的用户评价和逐渐退出市场的老款机器让这
  • 十个可以手动编写的 JavaScript 数组 API

    十个可以手动编写的 JavaScript 数组 API

    JavaScript 中有很多API,使用得当,会很方便,省力不少。 你知道它的原理吗? 今天这篇文章,我们将对它们进行一次小总结。现在开始吧。1.forEach()forEach()用于遍历数组接收一参
  • K8S | Service服务发现

    K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 冯提莫签约抖音公会 前“斗鱼一姐”消失在直播间

    冯提莫签约抖音公会 前“斗鱼一姐”消失在直播间

    来源:直播观察提起&ldquo;冯提莫&rdquo;这个名字,很多网友或许听过,但应该不记得她是哪位主播了。其实,作为曾经的&ldquo;斗鱼一姐&rdquo;,冯提莫在游戏直播的年代影响力不输于现
  • 华为HarmonyOS 4升级计划公布:首批34款机型今日开启公测

    华为HarmonyOS 4升级计划公布:首批34款机型今日开启公测

    8月4日消息,今天下午华为正式发布了HarmonyOS 4系统,在更流畅的前提下,还带来了不少新功能,UI设计也有变化,会让手机焕然一新。华为宣布,首批机型将会在
  • 华为和江淮汽车合作开发百万元问界MPV?双方回应来了

    华为和江淮汽车合作开发百万元问界MPV?双方回应来了

    8月1日消息,郭明錤今天在社交平台发文称,华为正在和江淮汽车合作,开发售价在100万元的问界MPV,预计在2024年第2季度量产,销量目标为上市首年交付5万辆。
  • 英特尔Xe-HP项目终止,将专注Xe-HPC/HPG系列显卡

    英特尔Xe-HP项目终止,将专注Xe-HPC/HPG系列显卡

    据10 月 31 日消息报道,英特尔高级副总裁兼加速计算系统和图形事业部总经理 表示,Xe-HP“ Arctic Sound” 系列服务器 GPU 已经应用于 oneAPI devcloud 云服
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
Top
Baidu
map