齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)位运算

爵帝哈尔大学 QIQIHAR UNIVER 位运算 多 History 主讲:耿蕊
位 运 算 主讲:耿蕊

位运算 C语言提供了6种位运算符。 运算符 含义 运算符 含义 按位取反 & 按位与 > 右移 按位或 运算符的优先级由高到低的顺序是(其中两个移位运算符同级): ~→>→8&→A→ 位运算的操作数必须是整数或字符型数据
位运算 C语言提供了6种位运算符。 运算符 含义 运算符 含义 ~ 按位取反 & 按位与 > 右移 | 按位或 运算符的优先级由高到低的顺序是(其中两个移位运算符同级): ~ → > → & → ^ → | 位运算的操作数必须是整数或字符型数据

\2“按位或”运算 History 参与运算的两个数按二进制位进行&(与)运算,只有对应的两个二 进制位均为1时,结果位才为1,否则为0。即: 1&1=1,1&0=0,0&1=0,0&0=0 例如:9&5的值是1
2 “按位或”运算 参与运算的两个数按二进制位进行&(与)运算,只有对应的两个二 进制位均为1时,结果位才为1,否则为0。即: 1&1=1,1&0=0,0&1=0,0&0=0 例如:9&5的值是1

y1“按位与”运算 History 参与运算的两个数按二进制位进行引(或)运算,只要对应的两个二 进制位有一个为1,结果就是1,只有两个二进制位都是0的时候才是0, 即: 11=1,10=1,01=1,00=0 例如:915的值是13
1 “按位与”运算 参与运算的两个数按二进制位进行|(或)运算,只要对应的两个二 进制位有一个为1,结果就是1,只有两个二进制位都是0的时候才是0, 即: 1|1=1,1|0=1,0|1=1,0|0=0 例如:9|5的值是13

y3.“按位异或”运算 History 参与运算的两个量的对应二进制位只要相同结果就是0,否则是1,即: 1N1=0,1^0=1,0N1=1,00=0 例如:9^5=12
3.“按位异或”运算 参与运算的两个量的对应二进制位只要相同结果就是0,否则是1,即: 1^1=0,1^0=1,0^1=1,0^0=0 例如:9^5=12

4“按位取反”运算 History ~是位运算符中唯一的单目运算符,其作用是把一个数二进制补码表 示的每一位都取反,把0变成1,把1变成0。这里需要特别注意的是,应 对一个数据的全部二进制位取反,例如对于用4个字节存储一个整数的情 况,需要对其32位全部取反
4 “按位取反”运算 ~是位运算符中唯一的单目运算符,其作用是把一个数二进制补码表 示的每一位都取反,把0变成1,把1变成0。这里需要特别注意的是,应 对一个数据的全部二进制位取反,例如对于用4个字节存储一个整数的情 况,需要对其32位全部取反

y5“左移”和“右移”运算 ART History 移位运算的一般格式为: 操作数移位运算符移动位数 例如:12<<1的值是24。而-9<<1的值是-18
5 “左移”和“右移”运算 移位运算的一般格式为: 操作数 移位运算符 移动位数 例如:12 << 1的值是24。而-9 << 1的值是-18

\6位赋值运算符 History 位运算符与赋值运算符可以组成复合赋值运算符,这样的运算符共有 5个(取反运算符~不能与赋值运算结合): >>=、<<=、&=、N=、|=
6 位赋值运算符 位运算符与赋值运算符可以组成复合赋值运算符,这样的运算符共有 5个(取反运算符~不能与赋值运算结合): >>=、<<=、&=、 ^= 、|=

y位运算 History 【例10-13】交换整型变量a、b的内容,不用引入其他临时单元。采用下面的3个异或运算 式子就可以实现该功能:a=abb=baa=ab 程序如下: #include "stdio.h" main() int a,b; printf("请输入两个整数:"); scanf"%d%d",&a,&b)月 printf"交换前:a=%d,b=%dn",a,b); a=a^b: b-ba, a=a^b: printf"交换后:a=%d,b=%dn",a,b);
位运算 【例10-13】交换整型变量a、b的内容,不用引入其他临时单元。采用下面的3个异或运算 式子就可以实现该功能:a=a^b b=b^a a=a^b 程序如下: #include "stdio.h" main() { int a,b; printf("请输入两个整数:"); scanf("%d%d",&a,&b); printf("交换前:a=%d,b=%d\n",a,b); a=a^b; b=b^a; a=a^b; printf("交换后:a=%d,b=%d\n",a,b); }

y位运算 History 【例10-14】取出一个整数从右端开始的5~9位,组成一个新数,并分别用八进制和十进制形式 输出。 #include "stdio.h" main() unsigned int a,b,c; scanf("%o"&a); b=a>5,/*二进制数的最低位是从0位开始计数的*/ c=b&0xlf printf"0 %dn%0 %dn"a,a,c,c)
位运算 【例10-14】取出一个整数a从右端开始的5~9位,组成一个新数,并分别用八进制和十进制形式 输出。 #include "stdio.h" main() { unsigned int a,b,c; scanf("%o",&a); b=a>>5; /*二进制数的最低位是从0位开始计数的*/ c=b&0x1f; printf("%o %d\n%o %d\n",a,a,c,c); }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第8单元 结构体与共用体.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)编译预处理.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第7单元 指针.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第6单元 函数.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第5单元 数组.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第4单元 循环结构程序设计.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第3单元 选择结构程序设计.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第2单元 顺序结构程序设计.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第1单元 概述(主讲:耿蕊).pptx
- 齐齐哈尔大学:《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语言程序设计》课程授课教案(64学时).pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第3章 控制流程 3.2 分支结构.ppt
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第3章 控制流程 3.1 顺序结构.ppt
- 《C++语言程序设计》课程教学资源(学习指导)第2章 数据类型运算符表达式 2.3 其他运算符与表达式.pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第2章 数据类型运算符表达式 2.3 其他运算符.ppt
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第9单元 文件.pptx
- 清华大学:《土木工程CAD技术基础》课程教学课件(讲稿)工程计算机制图——建筑施工图.pdf
- 清华大学:《土木工程CAD技术基础》课程教学课件(讲稿)AutoCAD图形系统的应用和开发.pdf
- 清华大学:《土木工程CAD技术基础》课程教学课件(讲稿)计算机图形技术.pdf
- 清华大学:《土木工程CAD技术基础》课程教学课件(讲稿)工程计算机制图——工程制图基础.pdf
- 山东理工大学:《数据结构》课程教学课件(数学)CH10 排序.pdf
- 山东理工大学:《数据结构》课程教学课件(数学)CH9 查找表.pdf
- 山东理工大学:《数据结构》课程教学课件(数学)CH7 图.pdf
- 山东理工大学:《数据结构》课程教学课件(数学)CH6 树和二叉树.ppt
- 山东理工大学:《数据结构》课程教学课件(数学)CH5 数组和广义表.ppt
- 山东理工大学:《数据结构》课程教学课件(数学)CH4 串.ppt
- 山东理工大学:《数据结构》课程教学课件(数学)CH3 栈和队列.pdf
- 山东理工大学:《数据结构》课程教学课件(数学)CH2 线性表.ppt
- 山东理工大学:《数据结构》课程教学课件(数学)CH1 绪论(主讲:殷超).ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第一章 计算机组成概述.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)HTML网页设计基础.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)PHP网页程序设计.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第二章 Linux操作系统.ppt
- 山东理工大学:《数据结构》课程教学资源(数据结构自编习题集).doc
- 《数据结构》课程教学资源(参考资料)数据结构实验指导书.doc