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

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

文档信息
资源类别:文库
文档格式:PPT
文档页数:18
文件大小:146KB
团购合买:点击进入团购
内容简介
位运算是指对二进制位进行的运算。每个二进制位中 只能存放0或1。因此,位运算就是对二进制数的运算。通 常,将一个数据用二进制数表示后,最右边的二进制位称 为最低位(第0位),最左边的二进制位为最高位。
刷新页面文档预览

第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

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