源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C++位运算符详解(异或运算符和移位运算符)

  • 时间:2021-05-12 16:08 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C++位运算符详解(异或运算符和移位运算符)
[b]什么是位运算[/b] 位运算符按二进制进行运算,这些运算符只能用于整数类型的操作。如:char,short,int,long 通过位运算符来获取高位值和低位值 int a=0x1234; int high,low; high = (a>>8) &0x00ff; low = a & 0x00ff; [b]左移运算符和右移运算符(<<和>>)[/b] 左移是将一个二进制数,移动若干位,右边空出的位置用0来填补,高位左移溢出应该舍弃该高位。 如:inta = 8, a = 00001000; a<<2则a =00100000;所以a的值为a*2^2 = 32; 左移过程中,如果这个数被溢出舍弃的高位不包含1,则移完后的值就是这个值*2^移动的位数. 右移是将一个二进制数,右移若干位,左边空出的位置用0来填补(如果是无符号类型,如果是有符号类型则根据操作系统的规定来补全。有些操作系统是用符号位来填补,有些操作系统默认是按照0来填补)。 [b]异或(^)[/b] 两个参加二进制运算的值相同为0,否则为1 1.  与0异或,保留原来的值 2.  交换两个值,不用临时变量 a=3,b=4 a= a^b; b= b^a;(b=b^a^b) a= a^b;(a^b^a^b^b) 以上这篇C++位运算符详解(异或运算符和移位运算符)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部