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

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 语言程序设计实例教程》目录第1章 1.1 程序逻辑与 C 语言概述 C 语言...运算符及表达式——输出各表达式的结果 关系、逻辑运算符和表达式——关系运算和...
C语言程序设计实验三顺序结构与逻辑运算
C语言程序设计实验三顺序结构与逻辑运算_理学_高等教育_教育专区。桂林电子科技大学C语言 实验2 1. 实验目的和要求 顺序结构与逻辑运算 学号:1400140224 姓名:王彦钧...
《C语言程序设计》第2章 数据类型与运算练习题及解答
C语言程序设计》第2章 数据类型与运算练习题及解答_信息与通信_工程科技_专业资料。中国铁道出版社第2 章数据类型和运算符一.选择题。 1.下列是用户自定义标识...
c语言程序设计学习指导答案
c语言程序设计学习指导答案_理学_高等教育_教育专区...(ND)) h=p p++ 第 12 章 位运算一、选择题...c语言程序设计教程答案 22页 免费 《C语言程序设计...
C语言程序设计教程 清华大学出版社 陈明主编 第6章答案
C语言程序设计教程 清华大学出版社 陈明主编 第6章答案_理学_高等教育_教育专区...答案:B 答案 6.以下程序的功能是进行位运算: /* 文件路径名:ex6_1_6\...
C语言程序设计 位运算
C语言程序设计第12章... 16页 免费 C语言程序设计教程(修订... 18页 ...A)0xFFEC B)0xFF71 C)0xFF68 D)0xFF17 3、在位运算中,操作数每右移一位...
《C语言程序设计》教案
十二位运算及程序调试 教材: 《C 程序设计》 (第三版) 谭浩强著 清华大学出版社 2005 参考书: 《C 语言程序设计案例教程》张基温等 清华大学出版社 教材、 ...
C语言程序设计之简单计算器
[4] 刘玲等, 语言程序设计应用教程》 《C ,西南...课程设计工作进度计划 第1天 完成方案设计与程序框图...具有较强的数据运算与处理能力;能运用计算机 进行...
《C语言程序设计》第14章在线测试
A、-5 C、-40 5、下列选项中关于赋值运算,正确的是( )。 A、赋值运算符...新编C语言程序设计教程(... 47页 免费 C语言程序设计-第14章 暂无评价 8...
C语言程序设计第二章网上作业
C语言程序设计第二章网上作业_工学_高等教育_教育专区。1、C 语言程序的基本...( A、由书写形式确定 B、必须用定义语句定义 C、在运算时才能确定 D、无法...
更多相关标签: