中国高校课件下载中心 》 教学资源 》 大学文库

齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第2章 数据类型运算符表达式 2.3 其他运算符

文档信息
资源类别:文库
文档格式:PPT
文档页数:23
文件大小:534KB
团购合买:点击进入团购
内容简介
齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第2章 数据类型运算符表达式 2.3 其他运算符
刷新页面文档预览

四、位运算符与表达式 ◆位运算符用来对二进制位进行操作 ~(按位取反)) >>(右移)<<(左移) &(按位与) A(异或) 丨(按位或) 位运算符只能对整型和字符型数据进行操作 正数a=4200000000000000000000000000101010 负数a=-4210000000000000000000000000101010 1111111111111111111111111010101 11111111111111111111111111010110 .1

- 1 - ◆位运算符用来对二进制位进行操作 ~ (按位取反) >> (右移) << (左移) & (按位与) ^ (异或) | (按位或) 位运算符只能对整型和字符型数据进行操作 正数 a=42 00000000000000000000000000101010 负数 a=-42 10000000000000000000000000101010 1111111111111111111111111010101 11111111111111111111111111010110 四、位运算符与表达式

(1)按位取反(~) 0 1 1 0 例如: a=4200000000000000000000000000101010 a 11111111111111111111111111010101 10000000000000000000000000101010 10000000000000000000000000101011 -43 a=-4211111111111111111111111111010110 ~a 00000000000000000000000000101001 41 -2-

- 2 - (1)按位取反(~) ~0 1 ~1 0 例如: a=42 00000000000000000000000000101010 ~a 11111111111111111111111111010101 10000000000000000000000000101010 10000000000000000000000000101011 -43 a=-42 11111111111111111111111111010110 ~a 00000000000000000000000000101001 41

(2)按位与(&) 0&0 0 081 0 1&0 0 1&1 1 例如: a=4200000000000000000000000000101010 b=1500000000000000000000000000001111 a&b00000000000000000000000000001010 10 -3-

- 3 - (2) 按位与(&) 0&0 0 0&1 0 1&0 0 1&1 1 例如: a=42 00000000000000000000000000101010 b=15 00000000000000000000000000001111 a&b 00000000000000000000000000001010 10

(3) 按位或(|) 010 0 011 1 1I0 1 1111 例如: a=4200000000000000000000000000101010 b=1500000000000000000000000000001111 a|b00000000000000000000000000101111 47 4-

- 4 - (3) 按位或(|) 0 | 0 0 0 | 1 1 1 | 0 1 1 | 1 1 例如: a=42 00000000000000000000000000101010 b=15 00000000000000000000000000001111 a | b 00000000000000000000000000101111 47

(4)异或(^) 0A0 0 0A1 1 1A0 1 11 0 例如: a=4200000000000000000000000000101010 b=1500000000000000000000000000001111 a^b00000000000000000000000000100101 37 -5-

- 5 - (4) 异或(^) 0 ^ 0 0 0 ^ 1 1 1 ^ 0 1 1 ^ 1 0 例如: a=42 00000000000000000000000000101010 b=15 00000000000000000000000000001111 a ^ b 00000000000000000000000000100101 37

(5)左移(<<)(右侧补0) 例如: a=4200000000000000000000000000101010 a<<100000000000000000000000001010100 84(a×2) a<<200000000000000000000000010101000 168(a×4) a=-4211111111111111111111111111010110 a<<111111111111111111111111110101100 10000000000000000000000001010011 10000000000000000000000001010100 -84(a×2) 6-

- 6 - (5) 左移(<<) (右侧补0) 例如: a=42 00000000000000000000000000101010 a <<1 00000000000000000000000001010100 84 (a×2) a<<2 00000000000000000000000010101000 168 (a×4) a=-42 11111111111111111111111111010110 a<<1 11111111111111111111111110101100 10000000000000000000000001010011 10000000000000000000000001010100 -84 (a×2)

(6)右移(>>) (左侧补符号位:正数补0,负数补1) 例如: a=4200000000000000000000000000101010 a>>100000000000000000000000000010101 21(a÷2) a>>200000000000000000000000000001010 10(a÷4) a=-4211111111111111111111111111010110 a>>111111111111111111111111111101011 10000000000000000000000000010100 10000000000000000000000000010101 -21(a÷2) -7-

- 7 - (6) 右移(>>) (左侧补符号位:正数补0,负数补1) 例如: a=42 00000000000000000000000000101010 a >>1 00000000000000000000000000010101 21 (a÷2) a>>2 00000000000000000000000000001010 10 (a ÷4) a=-42 11111111111111111111111111010110 a>>1 11111111111111111111111111101011 10000000000000000000000000010100 10000000000000000000000000010101 -21 (a÷2)

小结 ◆按位取反(~) ◆右移(>>) 左移(<<) ◆按位与(&) ◆异或(^) ◆按位或(丨) 8

◆按位取反 ( ~ ) ◆右移(>>) 左移(<<) ◆按位与 (&) ◆异或 (^) ◆按位或 ( | ) - 8 - 小 结

五、赋值运算符与表达式 +三 /= %= &= >> :<<= 格式: 变量名=表达式 例如:inta,b,c a=1; b=2; c=3; a+=2; a=a+2; b/=2; b=b/2; cA=3; 三 c=c3; a*=3+b 三 a=a*(3+b) 注意:运算时右边的表达式是被作为一个整体参与运算的。 -9-

- 9 - = += -= *= /= %= &= |= ^= >>= <<= 格式: 变量名=表达式 例如: int a,b,c; a= 1; b= 2; c= 3; a+=2; ≡ a =a+2; b/=2; ≡ b=b/2; c^=3; ≡ c=c^3; a*=3+b ≡ a=a*(3+b) 注意:运算时右边的表达式是被作为一个整体参与运算的。 五、赋值运算符与表达式

◆在C++中字符数据和整型数据之间可以通用。 #include void main() { int x,y; x='A'; y='B'; cout长<"x="<<x<'n'; cout<<"y "<<y<<endl; -10-

- 10 - ◆在C++中字符数据和整型数据之间可以通用。 #include void main() { int x,y; x='A'; y='B'; cout<<"x = "<<x<<'\n'; cout<<"y = "<<y<<endl; }

共23页,试读已结束,阅读完整版请下载
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档