当前位置: 首页 > news >正文

学校网站内容论坛网站策划

学校网站内容,论坛网站策划,做阿里巴巴网站找谁,网站建设的推进方案C中的运算符总结(5):按位逻辑运算符 9、按位运算符 NOT( ~)、 AND( &)、 OR( |)和 XOR( ^) 逻辑运算符和按位运算符之前的差别在…

C++中的运算符总结(5):按位逻辑运算符

9、按位运算符 NOT( ~)、 AND( &)、 OR( |)和 XOR( ^)

逻辑运算符和按位运算符之前的差别在于,按位运算符返回的并非布尔值,而是对操作数对应位执行指定运算的结果。 C++让您能够执行按位 NOT、 OR、 AND 和 XOR(异或)运算,它们分别使用 ~ 将每位取反、使用 | 对相应位执行 OR 运算、使用 & 对相应位执行 AND 运算、使用^对相应位执行 XOR 运算。其中后三个运算符对变量与选择的数字(通常是位掩码)执行相应的运算。
在整数的每位都表示特定标记的状态时,有些按位运算很有用。例如, 32 位的整数可用于表示 32 个布尔标记。以下程序演示了按位运算符的用法:

#include <iostream>
#include <bitset>
using namespace std;int main()
{cout << "Enter a number (0 - 255): ";unsigned short inputNum = 0;cin >> inputNum;bitset<8> inputBits (inputNum); cout << inputNum << " in binary is " << inputBits << endl;bitset<8> bitwiseNOT = (~inputNum);cout << "Logical NOT ~" << endl;cout << "~" << inputBits  << " = " << bitwiseNOT << endl;cout << "Logical AND, & with 00001111" << endl;bitset<8> bitwiseAND = (0x0F & inputNum);// 0x0F is hex for 0001111cout << "0001111 & " << inputBits  << " = " << bitwiseAND << endl;cout << "Logical OR, | with 00001111" << endl;bitset<8> bitwiseOR = (0x0F | inputNum);cout << "00001111 | " << inputBits  << " = " << bitwiseOR << endl;cout << "Logical XOR, ^ with 00001111" << endl;bitset<8> bitwiseXOR = (0x0F ^ inputNum);cout << "00001111 ^ " << inputBits  << " = " << bitwiseXOR << endl;return 0;
}

输出:

Enter a number (0 - 255): 181
181 in binary is 10110101
Logical NOT ~
~10110101 = 01001010
Logical AND, & with 00001111
0001111 & 10110101 = 00000101
Logical OR, | with 00001111
00001111 | 10110101 = 10111111
Logical XOR, ^ with 00001111
00001111 ^ 10110101 = 10111010

这个程序使用了一种还未介绍过的数据类型—bitset,旨在简化二进制数据的显示。这里使用 std::bitset 完全是为了方便显示,而没有其他任何目的。第 10、13、18 和 22 行将一个整数赋给了一个 bitset 对象,以便使用它来显示该整数的二进制表示。运算是对整数执行的。首先,请关注输出,它显示了用户输入的整数 181 的二进制表示,然后依次显示了将按位运算符 ~、 &、 | 和 ^ 用于该整数的结果。第 14 行使用按位运算 NOT 对各位取反。这个程序还演示了运算符 &、| 和 ^ 的工作原理,它们对两个操作数的相应位执行相应运算,从而获得最终的结果。只要结合使用这里的结果与前面介绍的真值表,您就能明白其中的工作原理。

该文章会更新,欢迎大家批评指正。

推荐一个零声学院的C++服务器开发课程,个人觉得老师讲得不错,
分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容
点击立即学习:C/C++后台高级服务器课程

http://www.yayakq.cn/news/128810/

相关文章:

  • 成都网站制作软件软件设计学什么
  • 搜狐快站生成appwordpress上传图片不占用id
  • 网站建设捌金手指下拉十九上海网站建设哪家技术好
  • 亳州建设网站安徽省住房和城乡建设局
  • 一套oa系统大概需要多少钱seo标题生成器
  • 杭州企业推广网站wordpress导航栏锚点
  • 酒店网站建设因素品牌推广方案怎么写
  • 教做甜点的网站广州市建设信息网
  • wordpress静态化设置优化公司
  • 云服务器可以做网站市场营销的十大理论
  • 天津网站建设专家上海建材网站
  • 营业执照注册网站建设局怎么进
  • 毕设敦煌壁画网站开发选题背景推荐常州网站建设
  • 怎么做网盘搜索网站wordpress控制弹窗次数代码
  • 一级a做爰片免费网站国语版的小程序做网站
  • 个人网页模板网站一个人完成网站建设
  • 沈阳家用电梯公司网站制作php企业网站模板下载
  • 咖啡网站设计模板净化科技网站建设
  • 网站站外优化做电工的有接单的网站吗
  • 建网站不花钱免费建站福州网站建设询q479185700上快
  • 优化设计六年级上册答案南宁网站关键字优化
  • 网站设计视频简单电子商务网站建设
  • 二手车 东莞网站建设中国网站建设新闻
  • 怎么做公司网站竞价WordPress做app下载
  • 深圳地铁建设集团网站德州口碑好的网站制作公司
  • 网站建设信息在哪儿发布wordpress 大型站
  • 网站开发的软件支持企业年报入口官网查询系统
  • html网站开发实例网站谁建设的
  • 企业网站建设的管理制度广西壮族自治区简称
  • 浦东区网站建设专业教育网站建设