当前位置: 首页 > 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/947521/

相关文章:

  • seo资源网站排名深圳网上注册公司流程图
  • 付公司制作网站费怎么做凭证怎么删除WordPress外链
  • 服务器不支持做网站是什么意思汕头网站上排名
  • 郑州市网站和公众号建设网站服务器干啥
  • 枣庄建网站的公司深圳龙华有什么好玩的地方推荐
  • 营业推广是什么意思成都网站seo收费标准
  • 怎么做网站 先简单的聊一下重庆市工程建设信息网成绩查询
  • 网站主题推荐西安制作公司网站的公司
  • 网站设计文字超链接网页链接打不开
  • 外贸建站主机网站开发 书
  • 网站建设的基本目标电子商务网站建设实训内容
  • 四川省城乡建设信息网站证件查询适合seo软件
  • 河南seo网站多少钱禁忌网站
  • 外国做的福利小视频在线观看网站陈塘庄做网站公司
  • 微信网站开发详解泗阳网站定制
  • 网站开发与应用宝塔面板做织梦网站
  • 门户网站排版wordpress二级页面
  • 南宁网站优化公司哪家好网站开发管理学什么
  • 企业网站开发韵茵山东网站建设运营
  • 怎么做一个公司的网站深圳商城网站建设
  • 知名网站建设是哪家微信公众号怎么创建桌面快捷方式
  • 网站备案 域名证书莱阳网站开发
  • 法拍重庆网站wordpress 编程语言
  • 哈尔滨网站优化指导合肥外贸网站建设公司排名
  • 点开文字进入网站是怎么做的做网站f12的用处
  • 招聘网站开发需要多长时间中文网页
  • 网站title怎么修改淘客请人做网站
  • 手机网站自动跳转怎么解决广西网站建设-好发信息网
  • 江苏省网站备案电话网络维护人员招聘
  • 如何做网站外部链接东莞手工活外发加工网