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

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语言程序设计案例教程(程立倩 主编)课本练习答案 模块十
C语言程序设计案例教程(程立倩 主编)课本练习答案 模块十_工学_高等教育_教育专区。《C 语言程序设计案例教程》 课后部分习题答案模块 10 位运算一.选择题 1.C ...
C语言程序设计实例教程-目录
C 语言程序设计实例教程》目录第1章 1.1 程序逻辑与 C 语言概述 C 语言...运算符及表达式——输出各表达式的结果 关系、逻辑运算符和表达式——关系运算和...
C语言程序设计教程 清华大学出版社 陈明主编 第6章答案
C语言程序设计教程 清华大学出版社 陈明主编 第6章答案_理学_高等教育_教育专区...答案:B 答案 6.以下程序的功能是进行位运算: /* 文件路径名:ex6_1_6\...
C语言程序设计教学日志
并 通过一个简单实例演示建立一个 C 语言程序的全过程, 并讲解部分语法错误的...高级语言程序设计教学日志 4 记录人 :梁云川 章节:1.4 运算符和表达式 记录...
C语言程序设计教程第13章
C语言程序设计教程第13章_工学_高等教育_教育专区。第 13 章 位 运 算 13.1 13.1.1 位运算符的简介 位运算符 表 13.1 位运算符 & | ^ 含义 按位...
《C语言程序设计》第2章 数据类型与运算练习题及解答
C语言程序设计》第2章 数据类型与运算练习题及解答_信息与通信_工程科技_专业资料。中国铁道出版社第2 章数据类型和运算符一.选择题。 1.下列是用户自定义标识...
《C语言程序设计》教案
十二位运算及程序调试 教材: 《C 程序设计》 (第三版) 谭浩强著 清华大学出版社 2005 参考书: 《C 语言程序设计案例教程》张基温等 清华大学出版社 教材、 ...
C语言程序设计 位运算
C语言程序设计第12章... 16页 免费 C语言程序设计教程(修订... 18页 ...A)0xFFEC B)0xFF71 C)0xFF68 D)0xFF17 3、在位运算中,操作数每右移一位...
c语言教程:位运算
c语言教程:位运算_工学_高等教育_教育专区。12 位运算 ...1 12.1 位运算C语言提供了六种位运算符: ...12 位运算 ......
第11章 C语言位运算
第十二章位运算 前面介绍的各种运算都是以字节作为最基本位进行的。 前面介绍的...C语言提供了位 系统程序中常要求在位(bit)一级进行运算或处理。C语言提供了位...
更多相关标签: