收藏 分享(赏)

补充-计算机科学中的常用数制.ppt

上传人:tkhy51908 文档编号:8024149 上传时间:2019-06-04 格式:PPT 页数:31 大小:431KB
下载 相关 举报
补充-计算机科学中的常用数制.ppt_第1页
第1页 / 共31页
补充-计算机科学中的常用数制.ppt_第2页
第2页 / 共31页
补充-计算机科学中的常用数制.ppt_第3页
第3页 / 共31页
补充-计算机科学中的常用数制.ppt_第4页
第4页 / 共31页
补充-计算机科学中的常用数制.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、计算机可以处理各种各样的数据,如文本、图像、声音、动画等,那么这些信息在计算机内部是如何保存的?,教学 引入,计算机科学中的常用数制,1,计算机中常用的名词,位 计算机中所有的数据都是以二进制来表示的,一个二进制代码称为一位,记为bit。位是计算机中最小的信息单位。,字节,在对二进制数据进行存储时,以八位二进制代码为一个单元存放在一起,称为一个字节,记为Byte。字节是计算机中次小的存储单位。,2,字 由若干字节构成(一般为字节的整数倍)。一条指令或一个数据信息,称为一个字。字是计算机进行信息交换、处理、存储的基本单元。,CPU中每个字所包含的二进制代码的位数,称为字长。字长是衡量计算机性能的

2、一个重要指标。不同档次的计算机有不同的字长。按计算机的字长可分为8位机(如苹果II、中佛学习机)、16位机(如286机)、32位机(如386、486机)、64位机(如Pentium、Pentium)等。,字长,3,容量: 容量是衡量计算机存储能力常用的一个名词,主要指存储器所能存储信息的字节数。常用的容量单位有B、KB、MB、GB,它们之间的关系是:,K(kilobyte) 字节 1KB =210B=1024 Byte M(megabyte)字节 1MB = 220B=1024 KB G(gigabyte) 字节 1GB = 230B=1024 MB T(terabyte)字节 1TB = 2

3、40B=1024GB,4,1. 特点 : 10个有序的数字符号:0,1,2,3,4,5,6,7,8,9,其中:“十” 为进位基数(Base / Radix), “逢十进一”的计数规则, 小数点符号:“.”,2. 表示法 :并列表示法 Positional Notation多项式表示法 Polynomial Notation,简称基数( R )。,十进制数,5,例:十进制数 1 2 3 4 5 . 6 7 8 0 9,多项式表示法 : 将并列式按“权” 展开为按权展开式,称为多项式表示法。如下例:,104 103 102 101 100 10-1 10-2 10-3 10-4 10-5,如上所示

4、,处在不同位置的数字具有不同的“权”,并列计数法,也称位置表示法。,万 千 百 十 个位 位 位 位 位,十 百 千 万 十万分 分 分 分 分 位 位 位 位 位,并列表示法,12345.67809 = 1104 + 2103 + 3102 + 4101 + 510 0 + 610-1 + 710-2 + 810-3 + 0 10-4 + 910 - 5,6,7,2.1 m进制正整数的表示方法 任何一个n位m进制(m=2, 3, 4, )正整数,可记为 dn1 dn2 d2 d1 d0 其中,dkSm(k=0,1, 3, , n1),Sm是一个由m个符号组成的集合,这m个符号依次表示从0计数

5、到m1。 根据习惯,把最左边的符号dn1称为该m进制数的最高位,而最右边的符号d0称为最低位,该数所对应的十进制数用下式计算:,进位制,二进制,八进制,十进制,十 六 进 制,规 则,基 数,数 码,权,形式表示,逢二进一,R=2,0,1,2i,B,逢八进一,R=8,0,1,2,7,8i,Q,逢十进一,R=10,0,1,2, ,9,10i,D,逢十六进一,R=16,0,1,9,A,B,C,D,E,F,16i,H,计算机中常用进制数的表示,8,9,2.1.1 十进制(Decimal)正整数,S10=0, 1, 2, 3, 4, 5, 6, 7, 8, 9 例:一个5位十进制正整数(13905)1

6、0对应的数值为1104+3103+9102+5=13905在计算机科学中,经常用后缀字母D表示十进制数,如:13905D。由于十进制一般是默认的进制系统,常常缺省后缀字母,即写成13905。十进制英文缩写为:DEC,10,2.1.2 二进制(Binary)正整数,S20, 1 例:一个5位二进正整数(10101)2对应的数值为124+122+1=21表示二进制的后缀字母为B, 本例中,该二进制数也可以表示为10101B。二进制的英文缩写为: BIN 计算机硬件为什么采用二进制来设计? 答:运算简单,硬件易于实现,成本低。 采用二进制的缺点是什么? 答:人工书写记录不方便,因为数值稍大,位数很多

7、。,例如:十进制数12在8位和16位算术逻辑部件(ALU)中分别表示为:(0000 1100)2(0000 0000 0000 1100)2 两个n位(n1)定长二进制数进行运算,运算结果实际位数如果大于n,称为溢出。,11,12,2.1.3 八进制(Octal)正整数,S80, 1, 2, 3, 4, 5, 6, 7 例:一个4位八进制正整数(3057)8对应的数值为383+58+7=1583表示八进制的后缀字母为O, 本例中,该八进制数也可以表示为3057O。八进制的英文缩写为: OCT,13,2.1.4 十六进制(Hexadecimal)正整数,S160, 1, 2, 3, 4, 5,

8、6, 7, 9, a(A), b(B), c(C), d(D), e(E), f(F) 说明:英文字母大小写无区别;a, b, c, d, e, f依次表示十进制数10, 11, 12, 13, 14, 15。 例:一个4位十六进正整数(A1BC)16对应的数值为10163+1162+1116+12=41404表示十六进制的后缀字母为H, 本例中,该十六进制数也可以表示为A1BCH。十六进制的英文缩写为: HEX,14,2.2.1 十进制正整数化为其它m进制数 算法:m连除取余(1)记待转换的十进制正整数为a;(2) 用m除a, 即a/m;将整数商仍记为a; 用m进制符号记录余数;(3) 若a

9、=0, 则按余数产生的相反次序书写余数,可得到对应的m进制数; 算法停止。(4) 若a0, 则转至步骤(2)。,2.2 四种进制正整数的相互转换,例2-1 将十进制数 479 用上述“m连除取余”法化为二、八、十六进制数。,进制越大,表示位数越少,所需的除法步骤相应越少。,从最后一次除得余数读起!,15,因为23=8,因此刚好每三个二进制位对应一个八进制位;而24=16,有四个二进制位对应一个十六进制位这样的简单互换关系,如下表所示。 把八进制数或者十六进制数化为二进制数的例子如:上面示例中,下横线以及横线下方的数字,清楚地标注了三个比特对应一位八进制数和四个比特对应一位十六进制数的映射关系。

10、,2.2.2 二进制与八、十六进制正整数互化,16,二进制与八进制、十六进制的对应关系,17,将二进数化为八进制数时,只需从最低位开始,从右向左,每三个二进制位一组,写出对应的八进制符号。当二进制数的高位不足三位时,前面可以添0占位。例如:,将二进数化为十六进制数时,只需从最低位开始,从右向左,每四个二进制位一组,写出对应的十六进制符号。当二进制数的高位不足四位时,前面可以添0占位。例如:,18,计算机科学中采用八、十六进制的目的是什么? 答:用于简化二进制的表示,一是因为八进制或者十六进制数很容易化为二进制数,二是因为八进制或者十六进制书写简短。总之,在计算机科学中,二进制一般用八进制,特别

11、是十六进制来表达。十六进制最常用是因为计算机中的ALU以及存储单元的长度一般以字节为单位,而一个字节有8bits,正好可以表示为两位十六进制数。 将十进制正整数快速化为二进制的方法是什么? 答:先化为八进制或者十六进制(所需的除法步骤少),然后将十六进制化为二进制(3位或者4位一组对应关系)。,19,二进制 十六进制,二进制 八进制,整数从右向左 小数从左向右,二进制与八、十六进制之间的转换,20,解: 001 010 111 011 . 001 011 100 1 2 7 3 . 1 3 4,即: (1010111011.0010111)2=(1273.134)8,例:将(101011101

12、1.0010111)2 转换 为八进制数,分析:按照“三位并一位”的原则,对二进制数进行处理。,例:将(2754.41)8转换成二进制数,分析:按照“一位拆三位”的原则,对八进制数进行处理。,解: 2 7 5 4 . 4 1010 111 101 100 . 100 001,即:(2754.41)8=(10111101100.100001)2,21,2.4 整数的存储格式,2.4.1 整数的存储长度在程序设计语言以及数据库中存储的整数一般以字节为单位,常用的有8位(1 byte)、16位(2 bytes)、32位(4 bytes), 64位(8 bytes)。 如:Java程序语言中,整数类型

13、有: byte、short、int、long 4种,分别表示1、2、4、8字节有符号整数。Visual C+程序语言的数据类型中,char、short、int 分别表示1、2、4字节有符号整数;unsigned char、unsigned short、unsigned int 分别表示1、2、4字节无符号整数。,22,2.4.2 无符号整数与有符号整数 无符号整数存储的整数不含正负号,它只能表示正数和0。 有符号整数存储的整数含符号信息,可以表示正、负数和0。如:Java程序语言中,全部整数数据类型都是有符号的,Java不支持无符号整数;C或C+语言中,整数分为有符号与无符号两种。,23,3.

14、 有符号与无符号仅仅是程序的处理方式不同 例如:8 位无符号整数 255 与 8位有符号整数-1(补码)的存储单元内容完全一样,即存储单元的内容都是FFH(255)。这时,如果支持软件把它当作无符号数,它对应的十进制数为255;反之,如果支持软件把它当作有符号数处理,即补码处理,则根据补码表示法,它对应的十进制数为-1。无论什么样的数据存储格式(包括实数格式),无符号整数可以表示出存储器的存储状态。有时候,我们把定长表示的无符号整数称为机器数。,24,2.4.4 无符号整数的存储格式就是定长正整数或者0。在内存中,无符号整数表示的实际整数值等于机器数。 2.4.5 有符号整数的三种表示法 原码

15、: n位原码最高位(符号位)1表示负数, 0表示正数;余下的n-1位表示数值的绝对值。例如:75=(01001011)8位原码-75=(11001011)8位原码,缺点:(1)运算不便;(2)有正0和负0。,25,2. 反码: 正数的反码与原码相同,负数的反码是对该数原码除符号位外各位取反。例如:75=(01001011)8位反码-75=(10110100)8位反码 n位原码或反码可表示的整数范围:正数:+0(2n-1 -1) 负数:-(2n-1-1) -0 3. 补码:正数的补码与原码相同;负数的补码为负数的绝对值求反加1(有符号整数的实际存储格式)。,26,负整数的补码表示在计算机数值表示

16、中,用正负号加绝对值表示数据的形式被称为“真值”。负数补码最高位一定为1,表示负数。以下是负数补码求法:二进制运算: 真值绝对值 “求反加1”第一步:将负数求绝对值;第二步:将上述绝对值化为n位二进制数。实际位数不足n位,高位添0,凑足n位。 第三步:各位求反(1变0; 0变1)第四步:求反后的二进制数加上1, 得到该负数补码。注:“求反加1”运算一般简称为求补运算,27,为什么使用补码? 1)能够统一+0和-0的表示 采用原码表示,+0的二进制表示形式为0 000 0000,而-0的二进制表示形式为1 000 0000; 采用反码表示,+0的二进制表示形式为0 000 0000,而-0的二进

17、制表示形式为1 111 1111; 采用补码表示,+0的二进制表示形式为0 000 0000,而-0的二进制表示形式为1 111 1111+1=1 0000 0000,因为计算机会进行截断,只取低8位,所以-0的补码表示形式为0000 0000。 2)对于有符号整数的运算能够把符号位同数值位为一起处理, 能够简化运算规则,28,符号、S 0、1 数值位不变,原码、反码和补码间关系,x 真值,x原,x反,x补,S 不变,数值位,不变(S=0),变反(S=1),S 不变,数值位,不变(S=0),变反后加1(S=1),注:S表示符号位,记住规律,29,2.6 二进制运算,2.6.1 补码的加法和减法

18、运算 补码的加法规则是: (X+Y)补=(X)补+(Y)补 补码的减法规则是: (X-Y)补=(X)补-(Y)补=(X)补+(-Y)补 其中,求补运算具有如下特性:求补 求补X (X)补 X 即减法可以完全转化为加法来进行。 两数相加,先求这两个数相加的补码,相加后的结果再求补 两数相减,类似。,30,课后作业,1将十进制数(125)10转换为二进制、八进制及十六进制数。 2. 设真值范围-24,24),写出下列真值的原码、反码和补码。 + 1010 , -1010 , + 1111 , -1111, -0000 , -1000 3. 已知下列机器数,写出它们所对应的真值: X1原11011 X2反11011 X3补11011X4原00000 X5反01111 X6补01000 4. 试用补码加法完成下列真值 的运算: (1)x=001011 y=100111 (2)x=101100 y=110010 (3)x=011011 y=100100,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报