- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
六、位操作符 (1)按位取反操作符“~” (2)左移操作符“” (3)右移操作符“” (4)按位与操作符“” (5)按位或操作符“|” (6)按位异或操作符“^” c++语言提供了位运算,它对操作数的各个位进行操作。 (1)按位取反操作符“~” 将操作数的每个二进制位取反,即1变为0,0变为1。例如,整数a的值则~a的值 (2)左移运算符“” 运算一般格式为:an 其中a为整数,n为一个正整数常数。语义为将a的二进制数依次向左移动n个二进制位,并在低位补0。左移n位相当于乘以2的n次方,但移位运算的速度比乘法快。 (3)右移运算符“” 与左移运算符类同,将左操作数向右移动右操作数指定的二进制位数,忽略移位后的小数部分,并在高位补0。一个整数右移n位相当于除以2的n次方,但比除法快。 在VC++6.0中有符号数右移时高位补符号位,严格对应除法: -323 //-32右移3位,,即-4 将两个操作数的对应位逐一进行按位逻辑与运算。运算规则为:对应位均为1时,该位运算结果为1;否则为0。例如: a b a b 该运算可用来将整数的某些位置0,而保留所需要的位,上例保留了低四位。 (4)按位与运算符“” 将两个操作数的对应位逐一进行按位逻辑或运算。运算规则为:只要有一个数对应位为1,该位运算结果即为1;两个数对应位均为0,该位结果为0。例如: a b a | b 该运算符可用来将整数的某些位置1。上例高四位不变,低四位全1。 (5)按位或运算符“|” 将两个操作数的对应位逐一进行按位异或运算。运算规则为:当对应位的值不同时,该位运算结果为1,否则为0。例如: a b a ^ b 该运算符可用来将一个整数的某些位取反,或将整型变量的值置0(将整型变量与自身按位异或)。上例低四位取反,高四位不变。 (6)按位异或运算符“^” 位运算示例: 某设备的状态控制字为2个字节,d12d11位代表设备运行模式,有01和10两种模式。若已获得该设备目前的状态字为stactrl,则如何切换该设备的运行模式? 假设有无符号整数x和y,求z,z由x的高16位与y的低16位组合而成? stactrl=stactrl^0x1800; z=x0xffff0000+y0x0000ffff; 七、赋值操作符 “=” 赋值与引用: 将数据存放到相应存储单元中称为赋值,如果该单元中已有值,赋值操作以新值取代旧值;从某个存储单元中取出数据使用,称为引用,引用不影响单元中的值,即一个量可以多次引用。常量只能引用,不能赋值。 赋值通过赋值运算符“=”来完成,其意义是将赋值号右边的值送到左边变量所对应的单元中。赋值号不是等号,它具有方向性。 复合赋值运算符: 操作符 实例 等价于 = n = 25 + = n += 25 n = n + 25 - = n - = 25 n = n - 25 * = n *= 25 n = n * 25 / = n /= 25 n = n / 25 % = n %= 25 n = n % 25 = n = 0xF2F2 n = n 0xF2F2 | = n | = 0xF2F2 n = n | 0xF2F2 ^ = n ^= 0xF2F2 n = n ^ 0xF2F2 = n = 4 n = n 4 = n = 4 n = n 4 八、逗号操作符 C++的逗号操作符是双目操作符,它使用两个操作数,表达式的值是右操作数。 逗号操作符可以将多个表达式组合成一个表达式,即逗号表达式。其一般形式为: 表达式1,表达式2,……,表达式n 逗号表达式中的每一个表达式都会被运算,整个逗号表达式的值为最后一个子表达式的值。 a=(x=3,x+=6,5+6);//a=11 x=9 例题3-3 #include iostream using namespace std; int main( ) {int a,b,c;a=1,b=2,c=a+b+3;couta,b,‘ cendl;c=(a++,a+=b,a-b);couta,b,‘ cendl;return 0; } 九、求字节数操作符:sizeof 可求得在特定机器上某数据类型或变量所占用的存储空间的大小,单位为字节。 n1=sizeof(double) n2
您可能关注的文档
最近下载
- 0102、U9 cloud供应链-采购管理.pptx VIP
- 上海市各机构名称英译.docx VIP
- 0303、U9 cloud财务-应收管理.pptx VIP
- 0302、U9 cloud财务-应付管理.pptx VIP
- 0304、U9 cloud财务-总账管理.pptx VIP
- 数据通信与计算机网络(第3版)全套PPT课件.pptx
- 0105、U9 cloud供应链-多组织供应链协同.pptx VIP
- 第5课 走近科学家 第3课时(课件)2025-2026学年道德与法治三年级上册统编版.pptx VIP
- 临床药物治疗学第四节.pdf VIP
- 2025年湖南中医药高等专科学校单招职业技能测试必刷测试卷最新.docx VIP
文档评论(0)