当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

荆州职业技术学院精品课程:《C语言程序设计》课程讲义_第11章 位运算

资源类别:文库,文档格式:PPT,文档页数:42,文件大小:298KB,团购合买
11.2 位域(位段) 11.1 概 述 11.1 位运算符六种位运算符
点击下载完整版文档(PPT)

C 语言程序设计精品课 《C语言程序设计》 课程讲义 荆程 第11章位运算 2006年4月 技术系

第11章 位运算 《C语言程序设计》 课程讲义 2006年4月

C 上一章节课程回顾 语言程序设计精品课 关系运算符、逻辑运算符及其表达式 关系运算符及逻辑运算符的优先次序 逻辑运算的值 荆程 i语句的三种形式 if语句的嵌套 条件运算符和条件表达式 switch语句 技术系

上一章节课程回顾 关系运算符、逻辑运算符及其表达式 关系运算符及逻辑运算符的优先次序 逻辑运算的值 if语句的三种形式 if语句的嵌套 条件运算符和条件表达式 switch语句

语言程序设 第11章位运算 过111概述 精品课一 11.1位运算符六种位运算符 烈程112位域(位段) 技术系

第11章 位运算 11.2 位域(位段) 11.1 概 述 11.1 位运算符六种位运算符

C 语111概述 程 C语言是为描述系统而设计的,因此它应当具有汇编 序语言所能完成的一些功能。第九章介绍的指针运算和本章 设将介绍的位运算就很适合于编写系统软件的需要 计 所谓位运算是指进行二进制位的运算。在系统软件中, 精常要处理二进位的问题。例如,将一个存储单元中的各二 m进位左移或右移一位,两个数按位相加等。c语言提供位 课运算的功能, 荆程 为了使没有学过汇编语言的读者对二进制运算能有较 好的理解,先介绍有关位的知识。 字节和位 大多数计算机系统(包含BM-PC系列)的内存储器 技是由许许多多被称为“字节”(byte)的单元组成的

C语言是为描述系统而设计的,因此它应当具有汇编 语言所能完成的一些功能。第九章介绍的指针运算和本章 将介绍的位运算就很适合于编写系统软件的需要。 所谓位运算是指进行二进制位的运算。在系统软件中, 常要处理二进位的问题。例如,将一个存储单元中的各二 进位左移或右移一位,两个数按位相加等。c语言提供位 运算的功能, 为了使没有学过汇编语言的读者对二进制运算能有较 好的理解,先介绍有关位的知识。 11.1 概 述 一、字节和位 大多数计算机系统(包含IBM-PC系列)的内存储器 是由许许多多被称为“字节”(byte)的单元组成的

C 语11概述 程每一个字节有一个地址。一个字节由若干个二进制位(bi 序t)组成。若干个字节组成一个存储单元,称为“字”(w 设ord)。每一个存储单元存放一个数据或一条指令。 计 个字节一般由8个二进位组成,其中最右边的一位称为“最低有 效位”或“最低位”,最左面的一位称为“最高有效位”或“最高位” 精每“个二进位的值是0或1 课 荆程 在微型机中一般以4个字节存放一个实数,以2个字节 存放一个整数。最左边的一位(最高位)用作数的符号位。 为了表示数值,可以采用不同的方法,一般有:原码、 反码和补码 原码 只将最高位作符号位(以0代表正,1代表负),其余 菜各位代表数值本身的绝对值(以二进制表示)。如

每一个字节有一个地址。一个字节由若干个二进制位(bi t)组成。若干个字节组成一个存储单元,称为“字”(w ord)。每一个存储单元存放一个数据或一条指令。 一个字节一般由8个二进位组成,其中最右边的一位称为“最低有 效位”或“最低位”,最左面的一位称为“最高有效位”或“最高位”, 每一个二进位的值是0或1。 在微型机中一般以4个字节存放一个实数,以2个字节 存放一个整数。最左边的一位(最高位)用作数的符号位。 为了表示数值,可以采用不同的方法,一般有:原码、 反码和补码。 二、原码 只将最高位作符号位(以0代表正,1代表负),其余 各位代表数值本身的绝对值(以二进制表示)。如: 11.1 概 述

C 语111概述 程+7的原码为:00000111 序设计精品 代表'正 7的原码为:10000111 代表,"负 课二进制的111代表十进制的7,为简化起见,我们只用 程一个字节存放一个整数,如果用两个 字节存放一个整数,情况是一样的,无非把+7表示成0 000000000000111而已。 十0的原码为00000000 0的原码为10000000 显然,+0和一0表示的是同一个数0,而在内存中却有 两个不同的表示。也就是说,0的表示 米不唯一,这不适合于计算机的运算

+7的原码为: 00000111 | 代表'正' 一7的原码为: 10000 1 1 1 | 代表,'负' 二进制的111代表十进制的7,为简化起见,我们只用 一个字节存放一个整数,如果用两个 字节存放一个整数,情况是一样的,无非把+7表示成0 0000000 00000111而已。 十0的原码为 00000000 一0的原码为 10000000 显然,+0和一0表示的是同一个数0,而在内存中却有 两个不同的表示。也就是说,0的表示 不唯一,这不适合于计算机的运算。 11.1 概 述

C 语111概述 言三、反码 程 个数如果值为正,则它的反码与原码相同,如: 设7的反码为00000111 计 个数的值如为负,则符号位为1,其余各位是对原 码取反。如 精 7的反码为:11111000 十0的反码为:00000000 课 0的反码为:11111111 荆程 同样,O的表示不唯一。用反码表示的最大值为1 ,最小值为-127。 127的反码为:01111111 127的反码为:1000000 用反码表示数,现已不多用 四、补码 原码和反码都不便于计算机内的运算,因为在运算中 要单独处理其符号

三、反码 一个数如果值为正,则它的反码与原码相同,如:+ 7的反码为00000111。 一个数的值如为负,则符号位为1,其余各位是对原 码取反。如: 一7的反码为:11111000 十0的反码为:00000000 一0的反码为:11111111 同样,o的表示不唯一。用反码表示的最大值为12 7,最小值为-127。 127的反码为: 01111111 一127的反码为: 10000000 用反码表示数,现已不多用。 四、补码 原码和反码都不便于计算机内的运算,因为在运算中 要单独处理其符号。 11.1 概 述

C 语111概述 程例如,对以原码表示的+7和一7相加,必须先判断各自 序的符号位,然后对后7位进行相应的处理,很不方便。 设 因此,最好能做到将符号位和其它位统一处理。对减 计法也按加法来处理。这就是“补码” “补码”的原理可以用时钟来说明,见图11.1。 精如果要将时针从9点拨到4点,可以向前拨,也可以向后 课拨,其表示如下 荆程 10 2 4 7 技术系

例如,对以原码表示的+7和一7相加,必须先判断各自 的符号位,然后对后7位进行相应的处理,很不方便。 因此,最好能做到将符号位和其它位统一处理。对减 法也按加法来处理。这就是“补码”。 “补码”的原理可以用时钟来说明,见图11.1。 如果要将时针从9点拨到4点,可以向前拨,也可以向后 拨,其表示如下: 12 11 1 10 2 9 ------- 3 8 4 7 5 6 11.1 概 述

C 语111概述 程95=4(向后拨5个字) 序9+7=16(向前拨7个字) 设从图上可见,向前拨7个字也能指向4。这是由于钟是 计圆的,12点的下一个小时是1点。时钟是12进制的 可以把12点看成0点,13点就是1点,其实是进位 后得到了十二进制数11,其中第一个1是进位,即高位 课,第二个1是低位。高位不保留,只保留低位,因此,1 荆程6点用十二进制数表示为14,高位不保留,在时钟上 就是4点,用十进制数可表示为:16-12=4。 对十进制数,如果想从9得到结果值5,可以用减 法 9一4=5 已知4的补数为10-4=6,即4与6互补。因此9 4可以改写为加法: 技术系 9+6=15

9一5=4 (向后拨5个字) 9+7=16(向前拨7个字) 从图上可见,向前拨7个字也能指向4。这是由于钟是 圆的,12点的下一个小时是1点。时钟是12进制的 ,可以把12点看成0点,13点就是1点,其实是进位 后得到了十二进制数11,其中第一个1是进位,即高位 ,第二个1是低位。高位不保留,只保留低位,因此,1 6点用十二进制数表示为14,高位不保留,在时钟上 就是4点,用十进制数可表示为:16一12=4。 对十进制数,如果想从9得到结果值5,可以用减 法: 9一4=5 已知4的补数为10一4=6,即4与6互补。因此9 一4可以改写为加法: 9+6 =15 11.1 概 述

C 语111概述 程再去掉高位1,得5 在计算机中,以一个有限长度的二进位作为数的模, 设如果用1个字节表示一个数,一个字节为8位,模为256 计因为逢256就进1,在内存中情况为 精品课一 11000000 荆程进位被丢弃 补码是这样规定的 正数:其原码、反码、补码相同。例如,+7的补 来码也是00000111。 负数:最高位为1,其余各位为原码的相应位取反 ,然后对整个数加1。例如: 7的原码: 10000111 技术系 7的补码:第①步:11111000

再去掉高位1,得5。 在计算机中,以一个有限长度的二进位作为数的模, 如果用1个字节表示一个数,一个字节为8位,模为256。 因为逢256就进1,在内存中情况为 ------------ 1|00000000| ------------- 进位被丢弃。 补码是这样规定的: 正数:其原码、反码、补码相同。例如,+7的补 码也是00000111。 负数:最高位为1,其余各位为原码的相应位取反 ,然后对整个数加1。例如: 一7的原码: 10000111 一7的补码:第①步: 11111000 11.1 概 述

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共42页,可试读14页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有