当前位置:首页 >> 计算机软件及应用 >>

C语言程序设计案例教程第12章 位运算


第12章 教学内容: 12.1 位逻辑运算 12.3 复合位运算 位 运 算 12.2 位移位运算 12.4 位段 教学要求: 1.掌握按位与运算、按位或运算、按位异或运算、 取反运算、左移运算、右移运算的运算规则。 2.掌握位段的应用。 为了节省内存空间,在系统软件中常将多个标志状 态简单地组合在一起,存储到一个字节(或字)中。C 语言 提供了实现将标志状态从标志字节中分离出来的位 运算功能。 C 既具有高级语言的特点,又具有低级语言的功能, 位运算能力就是其特色之一。 位运算就是指进行二进制位的运算。C提供的位运算 有: 名称 运算符 名称 运算符 按位与 按位或 取反 & ? ~ 按位异或 左移 右移 ? << >> 12.1 1. 位运算说明 位 逻 辑 运 算 ( 1 )位运算的操作数,只能是整型或字符型数据, 不能为实型数据。 (2 )位运算符中除按位取反“ ~”为单目运算符外, 其余均为二目运算符,即要求两侧各有一个运算量。 ( 3 )参与运算时,操作数都必须首先转换成二进制 形式,然后再执行相应的按位运算。 2. 按位与运算符 (1) 按位与运算符:& (2) 按位与运算格式: 操作数 & 操作数 (3) 按位与运算规则 将 2 个操作数先转换成二进制数(补码),当参加运 算的2个二进制数之对应位都为1,则该位的结果为1,否 则为0 ,即: 0&0=0 0&1=0 1&0=0 1&1=1 (4) 按位与运算作用 例: 3&5=1 3的补码: 5的补码: 3&5 00000011 00000101 00000001 取一个数中的某些指定位清零如: a: b: a &b 0010110010101100 0000000011111111 0000000010101100 结果得到 a 的低 8 位 (377)8 例12.1 编程对两个整型变量、整型常量分别进行按 位与运算,并输出它们的值。程序如下 main() { int x,y; x=25; y=568; printf(“x&y:%d\n”, x&y); printf(“3&14:%d\n”, 3&14); printf(“-3&14:%d\n”, -3&14); printf(“12&12:%d\n”, 12&12); } 运行结果: x&y: 24 3&14: 2 -3&14: 12 12&12: 12 3.按位或运算 (1)按位或运算符:? (2)按位或运算格式: 操作数 ? 操作数 (3)运算规则:参加运算的两个运算量之对应位,只要 有一个为1,则该位的结果为1。即: 0? 0=0 例如: 0? 1=1 1? 0=1 (060)8 (017)8 1? 1=1 00110000 00001111 ? 00111111 (077)8 一个数与017进行按位或运算,可将该数的低4位全置为1; 与0377进行按位或运算,可将该数的低8位全置为1。 4. 异或运算 (1)运算符 ? (2)按位异或运算格式: 操作数?操作数 (3)按位异或运算规则:参加运算的两个运算量 的对应位相同,则该位的结果为0。否则为1。即: 0?0=0 0 ?1 = 1 1?0=1 1?1=0 (4)运算的用途:使指定的位翻转 如: ? 01111010 00001111 01110101 对应原数的低4位均置为1 原数的低4位被翻转 5.取反运算 (1)运算符 ~ (2) 按位取反运算格式: ~ 操作数 (3)按位取反运算规则

相关文章:
《C语言程序设计》第12章位运算解读.doc
C语言程序设计第12章位运算解读 - 第 12 章位运算 为了节省内存空间,
c语言程序设计-第12章_位运算解读_图文.doc
c语言程序设计-第12章_位运算解读_中职中专_职业教育_教育专区 暂无评价|0人阅读|0次下载 | 举报文档 c语言程序设计-第12章_位运算解读_中职中专_职业教育_...
C语言程序设计-第12章 位运算_图文.ppt
C语言程序设计-第12章 位运算_院校资料_高等教育_教育专区。湖南工学院C语言程序设计,陈香兰教授指导。 第12章 位运算 为了节省内存空间,在系统软件中常将多个...
c语言程序设计-第12章_位运算_图文.ppt
c语言程序设计-第12章_位运算 - 第十二章 ? 主要内容 12.1位运算符和位运算 12.2位运算举例 12.3位段 概念 位运算是指按二进制位进行的运算。因为在 ...
c语言程序设计第十二章位运算_图文.ppt
c语言程序设计第十二章位运算 - C语言程序设计 第十二章 位运算 主讲教师:李
c语言第12章-位运算..ppt
c语言第12章-位运算. - 第11章 位运算 为节省内存空间,在系统软件中常将多个标志 状态位,简单地组合在一起,存储到1个字 (节)中。 为此,C语言提供了按二...
C语言程序设计-12位运算_图文.ppt
C语言程序设计-12位运算 - 第十二章 ? 主要内容 12.1位运算符和位运算 12.2位运算举例 12.3位段 概念 位运算是指按二进制位进行的运算。因为在 系统软件...
C语言程序设计第12章(位运算)_图文.ppt
C语言程序设计第12章(位运算) - 第十二章 位运算 位运算是指进行二进制位的运算, 位运算是指进行二进制位的运算,即对字节或字节 内部的二进制位进行运算。 ...
第9章预编译及第12章位运算--C语言程序设计(谭浩强第三....ppt
第9章预编译及第12章位运算--C语言程序设计(谭浩强第三版)讲解_工学_高等教育_教育专区。其他内容: ?第 9 章 ?第12章 ?第14章 ?附录 编译预处理 位运算...
12 第12章 C语言位运算_图文.ppt
12 第12章 C语言位运算 - 第十二章 ? 主要内容 12.1位运算符和位运算 12.2位运算举例 12.3位段 概念 位运算是指按二进制位进行的运算。因为在 系统软件...
C语言程序设计课件第12章_位运算_图文.ppt
C语言程序设计课件第12章_位运算 - 第十二章 主要内容 12.1位运算符和位运算 12.1位运算符和位运算 12.2位运算举例 12.2位运算举例 12.3位段 12.3位...
C语言程序设计基础(第三版)第12章_位运算_图文.ppt
C语言程序设计基础(第三版)第12章_位运算 - 第十二章 ? 主要内容 12.1位运算符和位运 算 12.2位运算举例 12.3位段 概念 位运算是指按二进制位进行的...
C语言程序设计 清华大学课件 第12章 位运算_图文.ppt
C语言程序设计 清华大学课件 第12章 位运算_理学_高等教育_教育专区。清华大学 C语言程序设计课件 第十二章 ? 主要内容 12.1位运算符和位运算 12.2位运算举例...
C语言第12章位运算解读_图文.doc
第十二章 C语言 位运... 6页 免费 C语言 课件 第12章_位运... 35页 免费 C语言 第12章_位运算 35页 1下载券 《C语言程序设计第12章......
谭浩强C语言教程_第十二章-位运算.doc
谭浩强C语言教程_第十二章-位运算 - 12 位运算 ...1 12...
第9章预编译及第12章位运算--C语言程序设计(谭浩强第三....ppt
第9章预编译及第12章位运算--C语言程序设计(...书上两个综合性例子。 书上两个综合性例子。 。 ...C语言程序设计教程 第12... 27页 免费 第6章...
C语言程序设计教程(第4版)_第11章_位运算_图文.ppt
C语言程序设计教程(第4版)_第11章_位运算 - 第11章 位运算 李丽娟 2013年2月 第11章 位运算 本章主要内容 1.按位取反运算 2.按位左移运算 3.按位左...
C语言程序设计_位运算_图文.ppt
C语言程序设计_位运算 - 第十二章 位运算 C语言允许对内存中的字节或字节内的二进制位进行运算, 即位运算. 12.1 位运算符和位运算 位运算符共6 种: & ...
C语言程序设计第十二章 位运算.doc
C语言程序设计第十二章 位运算 - 12 位运算 ...1 12.1 ...
C语言程序第12章 位运算_图文.ppt
C语言程序第12章 位运算 - 第十二章 位运算 为了节省内存空间, 为了节省内
更多相关标签: