《C语言程序设计导论》课程电子教案(PPT教学课件)第十章 位运算

第10章位运算
第10章 位 运 算

位运算是指对二进制位进行的运算。每个二进制位中 只能存放0或1。因此,位运算就是对二进制数的运算。通 常,将一个数据用二进制数表示后,最右边的二进制位称 为最低位(第0位),最左边的二进制位为最高位。 1514131211109876543210 图10.1微机中整数的二进制位表示
位运算是指对二进制位进行的运算。每个二进制位中 只能存放0或1。因此,位运算就是对二进制数的运算。通 常,将一个数据用二进制数表示后,最右边的二进制位称 为最低位(第0位),最左边的二进制位为最高位。 图10.1 微机中整数的二进制位表示 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

10.1二进制位运算 10.2位段 10.3程序举例
10.1 二进制位运算 10.2 位 段 10.3 程序举例

10.1二进制位运算 在C语言中共提供了6种位运算符,如表10.所示。 表10.1 位运算符 意义 按位与 按位或 按位异或 按位取反 左移 右移 没回日录
10.1 二进制位运算 在C语言中共提供了6种位运算符,如表10.1所示。 表10.1 位运算符 意 义 & | ^ ~ > 按位与 按位或 按位异或 按位取反 左移 右移

(1)在这6种位运算符中,其中按位取反是单目运算符, 只有一个运算对象,其他均为双目运算符,有两个运算对象 (2)位运算的运算对象只能是整型(包括int, short, long和 unsigned)或字符型数据,而不能是实型数据。 (3)各位运算符的优先级比较分散,与其他运算符一起, 其优先级从高到低如下: 逻辑非()→>按位取反()→算术运算符→左移运算符()→关系运算符→按位与运算符(&),按位异 或运算符(^),按位或运算符()→&&与→赋值运算符
(1)在这6种位运算符中,其中按位取反是单目运算符, 只有一个运算对象,其他均为双目运算符,有两个运算对象。 (2)位运算的运算对象只能是整型(包括int,short, long和unsigned)或字符型数据,而不能是实型数据。 (3)各位运算符的优先级比较分散,与其他运算符一起, 其优先级从高到低如下: 逻辑非(!)→按位取反(~)→算术运算符→左移运算符(>)→关系运算符→按位与运算符(&),按位异 或运算符(^),按位或运算符(|)→&&与|| →赋值运算符

1.“按位与”运算符(&) “按位与”的运算符为“&”。其运算规则是:若两个运算 对象的对应二进制位均是1,则结果的对应位是1,否则为0。 利用“按位与”运算可以实现以下功能 (1)取出数据中指定的位 (2)将数据中的指定位清零
1.“按位与”运算符(&) “按位与”的运算符为“&”。其运算规则是:若两个运算 对象的对应二进制位均是1,则结果的对应位是1,否则为0。 利用“按位与”运算可以实现以下功能: (1)取出数据中指定的位 (2)将数据中的指定位清零

按位或”运算符(|) “按位或”的运算符为“{”。其运算规 则是:若两个运算对象的对应二进制位中 有一个是1,则结果的对应位是1,否则为0
2.“按位或”运算符(|) “按位或”的运算符为“|”。其运算规 则是:若两个运算对象的对应二进制位中 有一个是1,则结果的对应位是1,否则为0

例10.2下列C程序的功能是将整型数组中所有元素转换 为不小于它的最小奇数,并显示输出。。 #include stdio. h' main {intk,a10]={23,14,24,31,46,55,33,68,27,40} for(k=0;k<10;k++) printf("%5d", a[) printf( in") for(k=0;k<10;k++) ak=ak0x0l for(k=0;k<10;k++) printf("%5d", a[kD; printf("n")
例10.2 下列C程序的功能是将整型数组中所有元素转换 为不小于它的最小奇数,并显示输出。。 #include "stdio.h" main() { int k,a[10]={23,14,24,31,46,55,33,68,27,40}; for (k=0;k<10;k++) printf("%5d",a[k]); printf("\n"); for (k=0;k<10;k++) a[k]=a[k]|0x01; for (k=0;k<10;k++) printf("%5d",a[k]); printf("\n"); }

3.“按位异或”运算符(^) “按位异或”的运算符为“^”。其运算规则是:若两个 运算对象的对应二进制位不相等,则结果的对应位是1,否 则为0。 。“按位异或”运算具有以下几个性质: (1)使数据中的某些位取反,即将0变为1,1变为0。 2)同一个数据进行异或运算后,其结果为0。利用异或 运算的这个性质,可以将变量清零 (3)可以实现交换两个变量的值:
3.“按位异或”运算符(^) “按位异或”的运算符为“^” 。其运算规则是:若两个 运算对象的对应二进制位不相等,则结果的对应位是1,否 则为0。 “按位异或”运算具有以下几个性质: (1)使数据中的某些位取反,即将0变为1,1变为0。 (2)同一个数据进行异或运算后,其结果为0。利用异或 运算的这个性质,可以将变量清零。 (3)可以实现交换两个变量的值:

4.“按位取反”运算符() “按位取反”的运算符为“~”。其运算规则是:将运 算对象中的各二进制位值取反,即将0变为1,1变为0
4.“按位取反”运算符(~) “按位取反”的运算符为“~”。其运算规则是:将运 算对象中的各二进制位值取反,即将0变为1,1变为0
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第五章 预处理命令.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第九章 文件.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第七章 指针.ppt
- 《程序设计语言》第8章 指针.ppt
- 《程序设计语言》第8章 编译预处理.ppt
- 《程序设计语言》第7章 函数.ppt
- 《程序设计语言》模拟试题.ppt
- 《程序设计语言》集中复习.ppt
- 《程序设计语言》第1章习题.ppt
- 《程序设计语言》第3章 语言翻译问题.ppt
- 《程序设计语言》第2章 机器体系机构对语言的影响.ppt
- 《程序设计语言》课程简介.ppt
- 《程序设计语言》第1章 程序语言设计问题.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第九章 结构体与共用题.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第四章 C程序流程设计.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第三章 数据输入与输出.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第十章 文件.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第五章 数组.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第二章 数据描述.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》第八章 指针.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第一章 程序设计概述.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第二章 数据类型、运算符与表达式.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第三章 语句及控制结构.ppt
- 《C语言程序设计导论》课程电子教案(PPT教学课件)第四章 函数和程序结构.ppt
- 清华大学:《计算机程序设计基础》课程教学资源(PPT课件)第二章 基本数据类型及其运算.ppt
- 清华大学:《计算机程序设计基础》课程教学资源(PPT课件)第一章 C语言的基本概念(主讲:乔林).ppt
- 清华大学:《计算机程序设计基础》课程教学资源(PPT课件)第三章 程序控制结构.ppt
- 清华大学:《计算机程序设计基础》课程教学资源(PPT课件)第四章 复合数据结构基础.ppt
- 清华大学计算中心:《计算机程序设计基础》第五章 结构化程序设计概论.ppt
- 《C程序设计语言》课程PPT教学课件(讲稿)Chapter 1 An Overview of C(1.2)The feature of C.ppt
- 《C程序设计语言》课程PPT教学课件(讲稿)第二章 算法 algorithm.ppt
- 《C程序设计语言》课程PPT教学课件(讲稿)Chapter 1 An Overview of c.ppt
- 《C程序设计语言》课程PPT教学课件(讲稿)Chapter 3 Data types, Operators and Expressions.ppt
- 《C程序设计语言》课程PPT教学课件(讲稿)Chapter 4 Input and Output.ppt
- 《C程序设计语言》课程PPT教学课件(讲稿)Chapter 5 Control Flow.ppt
- 《C程序设计语言》课程PPT教学课件(讲稿)Chapter 7 Arrays.ppt
- 《C程序设计语言》课程PPT教学课件(讲稿)Chapter Functions.ppt
- 《C程序设计语言》课程PPT教学课件(讲稿)第九章 预处理命令.ppt
- 《C程序设计语言》课程PPT教学课件(讲稿)第十一章 结构体与共用体.ppt
- 《C程序设计语言》课程PPT教学课件(讲稿)第十二章 文件.ppt