齐齐哈尔大学:《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; }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C++语言程序设计》课程教学资源(学习指导)第2章 数据类型运算符表达式 2.2 算术、关系、逻辑运算符.pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第2章 数据类型运算符表达式 2.2 算术、关系、逻辑运算符.ppt
- 《C++语言程序设计》课程教学资源(学习指导)第2章 数据类型运算符表达式 2.1 数据类型、常量、变量.pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第2章 数据类型运算符表达式 2.1 数据类型、常量、变量.ppt
- 《C++语言程序设计》课程教学资源(学习指导)第1章 C++语言概述.pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第1章 C++程序设计概述.pptx
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第十二章 异常处理.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第十一章 流类库与输入输出.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第十章 C++标准模板库.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第四章 类与对象.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第六章 数组、指针与字符串.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第八章 多态性.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第五章 C++程序的结构.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第二章 C++简单程序设计.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第九章 群体类和群体数据的组织.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第三章 函数.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第七章 继承与派生.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第一章 绪论.ppt
- 清华大学出版社:《Visual.C++面向对象与可视化程序设计》书籍教材PDF电子版(第2版,编著:黄维通).pdf
- 中国水利水电出版社:《C++实用培训教程》书籍PDF电子版(共十章,编著:李国权).pdf
- 《C++语言程序设计》课程教学资源(学习指导)第2章 数据类型运算符表达式 2.3 其他运算符与表达式.pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第3章 控制流程 3.1 顺序结构.ppt
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第3章 控制流程 3.2 分支结构.ppt
- 齐齐哈尔大学:《C语言程序设计》课程授课教案(64学时).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(物理学).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(教育技术).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(土木工程).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(数学与应用).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(电气工程及其自动化).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(电子信息工程).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第1单元 概述(主讲:耿蕊).pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第2单元 顺序结构程序设计.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第3单元 选择结构程序设计.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第4单元 循环结构程序设计.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第5单元 数组.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第6单元 函数.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第7单元 指针.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)编译预处理.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第8单元 结构体与共用体.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)位运算.pptx