数字化基础课件_第1页
数字化基础课件_第2页
数字化基础课件_第3页
数字化基础课件_第4页
数字化基础课件_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.2.1 数制的概念1.2.2 二进制及其运算1.2.3 不同进位计数制之间的转换1.2.4 数的定点与浮点表示1.2.5 原码、补码、反码软件学院 Institute of Software1.2.1 数制的概念什么叫数制?进位计数制,即用进位的方法来计数。 包括计数符号(数码)和进位规则两个方面。进位制:多位数码每位的构成以及从低位到高位的进位规则称为进位计数制,简称进位制。基数:进位制的基数,即该进位制中可能用到的数码个数。位权:每位的大小与所在位相关,即权值,它是一个幂。软件学院 Institute of Software1.2.1 数制的概念日常生活中习惯使用:十进制数09实际有多

2、种进位制(数制)。计算机内部只用:二进制数01。为方便书写也采用八进制数、十六进制数。数制表示方法有两种:1)用下标表示,如( )2、( )8、( )10、( )162)用后跟字母表示,如H表示十六进制,B表示二进制,Q表示八进制,D表示十进制。注:十进制数可不用下标或后缀字母,如999。软件学院 Institute of Software1、十进制数的特点 每一位只能使用十个符号 0、1、2、3、4、5、6、7、8、9中的一个。每个数位上的数都有固定的“权”。小数点至左,权值依次为100,101,102,.,小数点至右,权值依次为10-1,10-2,10-3,。例如:十进制数值 2 3 4

3、. 7 8 每位对应权值 102 101 100 . 10-1 10-2软件学院 Institute of Software逢十进一。 十进制数值可以用每位的数符和对应的权值乘积的和来表示。数符权值软件学院 Institute of Software任意进制数由此得出进制数的特点:基数为R,所用数字符号为0R-1,位权为Ri,i为位序;逢R进一,任意一个R进制数可以写成一个多项式和展开式。软件学院 Institute of Software2、二进制数基数:基数为2,只有两个数字符号0和1。权:小数点以左:20,21,22,23, 小数点以右:2-1,2-2,2-3。进制:逢二进一;0,1,1

4、0,11,100,101,多项式的和 (1101.011)2=123+122+021+120+02-1+12-2+12-3 软件学院 Institute of Software1.基数:基数为16,有十六个数字符号0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F2.权:小数点以左:160,161,162, 163 小数点以右:16-1,16-2,16-3 。3.进制:逢十六进一0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F,10, 11, , 1F,20, 4.多项式的和:(7AD.5F)16=7162+

5、10161+13160+516-1+1516-2ABCDEF1011121314154、十六进制软件学院 Institute of Software十进制12345678二进制00010010001101000101010001111000八进制123456710十六进制12345678十进制910111213141516二进制100110101011110011011110111110000八进制1112131415161720十六进制9ABCDEF10各进制数对照表软件学院 Institute of Software1.2.2 二进制的运算二进制数的特点 1)符号少,便于用物理器件实现;2

6、)运算规则简单 3)可以进行逻辑运算:数理逻辑中的“真”和“假”用“1”和“0”表示,软件学院 Institute of Software二进制逻辑运算示例或运算与运算 0 1 1 00 1 1 0 1 0 1 1 1 0 1 1 1 1 1 10 0 1 0非运算异或运算 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0软件学院 Institute of Software1.2.3 不同进位计数制之间的转换 按权相加。如果两数相等,则两数的整数部分和小数部分的值一定分别相等。二进制数十进制数软件学院 Institute of Software软件学院 Insti

7、tute of Software 整数部分的转换 :除二取余。十进制数二进制数将整数部分和小数部分分别转换。其系数 排列起来就是二进制数的各位数码。软件学院 Institute of Software第一步:将等式两边乘以2,得到:等式两边整数与小数应分别相等,所以:K-1=0第二步:再对等式两边继续乘以2,得到:K-2=1如此继续下去,可以得到K-3 K-4 K-m 各位的值。软件学院 Institute of Software0.322=0.64 整数=0=K-10.642=1.28 整数=1=K-20.282=0.56 整数=0=K-30.562=1.12 整数=1=K-4算法为:所以,

8、(0.32)10=(0.0101.)2 ,直至满足一定的精度为止。软件学院 Institute of Software对于既有整数又有小数的数,则将其整数部分与小数部分分别转换,再用小数点连接起来。总结:对于基数为R的数制与十进制数的转换也遵循一样的法则。整数部分除R取余,小数部分乘R取整。不同进制的数制之间的转换,可用十进制数作为中介,相互转换。软件学院 Institute of Software二进制数八进制数二进制数的基为2,八进制数的基为8,23=8,因此,每位八进制数可以用3位二进制数来表示。二进制 八进制0 0 0 00 0 1 10 1 0 20 1 1 31 0 0 41 0

9、1 51 1 0 61 1 1 7 软件学院 Institute of Software对既有整数又有小数的二进制数,以小数点为界,整数部分从右至左,以3位一组,不足三位时,在左边添0补足三位;小数部分从左至右,以3位一组,不足三位时,在右边添0补足三位,然后把每组的3位数用相应的八进制表示,即得八进制数。例如:将 (11101.11011)2转换成八进制数。结果为35.66左边添零补足三位右边添零补足三位软件学院 Institute of Software八进制数二进制数将每位八进制数用3位二进制数表示即可,去掉转换后二进制数整数前和小数点后的0。例如:将 (15.22)8 转换成二进制数。

10、结果为1101.01001软件学院 Institute of Software二进制数十六进制数二进制数的基为2,十六进制数的基为16,24=16,因此,每位十六进制数可以用4位二进制数来表示。二进制 十六进制0 0 0 0 00 0 0 1 10 0 1 0 20 0 1 1 30 1 0 0 40 1 0 1 50 1 1 0 60 1 1 1 7 1 0 0 0 81 0 0 1 91 0 1 0 A1 0 1 1 B1 1 0 0 C1 1 0 1 D1 1 1 0 E1 1 1 1 F记住六个数符软件学院 Institute of Software对既有整数又有小数的二进制数,以小数

11、点为界,整数部分从右至左,以4位一组,不足四位时,在左边添0补足四位;小数部分从左至右,以4位一组,不足四位时,在右边添0补足四位,然后把每组的4位数用相应的十六进制表示,即得十六进制数。例如:将 (11101.11011)2转换成十六进制数。结果为1D.D8补零补零软件学院 Institute of Software十六进制数二进制数将每位十六进制数用4位二进制数表示即可,去掉转换后二进制数整数前和小数点后的0。例如:将 (7B.A8)16 转换成二进制数。结果为1111011.10101将零去掉软件学院 Institute of Software1.2.4 数的定点与浮点表示在计算机中,涉

12、及到小数点位置时,数有两种表示方法:定点表示和浮点表示。所谓定点表示,就是小数点在数中的位置是固定不变的;所谓浮点表示,就是小数点在数中的位置是浮动的。 软件学院 Institute of Software1. 定点数表示 通常,任意一个二进制数总可以表示为纯整数(或纯小数)和一个2的整数次幂的乘积。例如,二进制数N可写成: N = 2pS 其中,S称为N的尾数;P称为N的阶码;2称为阶码的底。尾数S表示了N的全部有效数字,阶码P指明了小数点的位置。此处P、S都是用二进制表示的数。软件学院 Institute of Software 当阶码为固定值时,称这种表示法为数的定点表示法。这样的数称为

13、定点数。如假定P=0,且尾数S为纯整数,这时定点数只能表示整数,称为定点整数。如假定P=0,且尾数S为纯小数,这时定点数只能表示小数,称为定点小数。定点数的这两种表示法,在计算机中均有采用。究竟采用哪种方法,都是事先约定的。 在计算机中数的符号也用二进制数码表示,通常取正数的符号为0,负数的符号为1,在机器内定点数用下述方式表示。定点小数约定小数点在符号位与最高数值位之间。 定点整数约定小数点在最低有效位后面。 当定点数的位数确定以后,定点数表示的范围也就确定了。如果一个数超过了这个范围的现象称为溢出。软件学院 Institute of Software定点小数约定小数点在符号位与最高数值位之

14、间 定点整数约定小数点在最低有效位后面,即: 软件学院 Institute of Software2. 浮点数表示如果阶码可以取不同的数值,称这种表示法为数的浮点表示法。这样的数称为浮点数。这时: N=2PS其中阶码P用整数表示,可为正数或负数。用一位二进制数Pf表示阶码的符号位,当Pf=0时,表示阶码为正数;当Pf=1时,表示阶码为负数。而尾数S一般为纯小数,用定点小数来表示,同样用Sf表示尾数的符号,Sf=0表示尾数为正数(也就是N为正);Sf=1表示尾数为负数。在计算机中表示形式如下:软件学院 Institute of Software可见,在机器中表示一个浮点数,要分为阶码和尾数两个部

15、分来表示。一般来说,阶码部分的位数决定了数的表示范围,而尾数部分的位数决定了数的精度。软件学院 Institute of Software1.2.5 原码、补码、反码 前面介绍了数据数值的进制表示及数据的小数点表示,下面还需要解决数据的符号表示,为此引出了数据的原码、补码及反码的表示形式,它即可表示定点小数,也可表示定点整数。这里只介绍定点整数的表示。 软件学院 Institute of Software1. 机器数与真值 数的符号在机器中亦被“数码化”。用“0”表示正数符号,用“1”表示负数符号。设有 N1 = + 1001001;N2=1001001 。则它们在机器中表示为:N1: 0 1

16、 0 0 1 0 0 1 N2: 1 1 0 0 1 0 0 1 至此,一个数的数值与符号全部数码化了。为了区别一般书写表示的数和机器中这些编码表示的数,我们把“符号化”的数称为机器数,而符号没有数码化的数称为数的真值。 另外,机器数一般是固定长度的,数的位不够时应当补足。软件学院 Institute of Software例 设某机器的字长为8位,无符号整数在机器中的表示形式为:带符号整数在机器中的表示形式为数值符号数值软件学院 Institute of Software整型数的表示整数在计算机中可以用8位、16位、32位64位来表示。0 0 0 0,1 0 0 0 表示 81 0 0 0,

17、1 0 0 0 表示 -8用八位二进制表示整数软件学院 Institute of Software二进制数位无符号整数的表示范围带符号整数的表示范围80 255(28-1)-128 127160 65535(216-1)-32768 32767320 232-1-231 232+1640 264-1-264 264+1 带符号整数的最高位作为符号位,0代表正数,1代表负数。 正整数(无符号数) 整数(有符号数)软件学院 Institute of Software2. 原码原码是一种简单的机器数表示法。它规定正数的符号用0表示,负数的符号用1表示,数值部分即为该数的本身。例如: X = +100

18、101,其原码表示为X原=00100101。 X = 100101,其原码表示为X原=10100101。由上可见,机器数用原码表示简单易懂,易于真值转换。但进行加减运算比较复杂。这是因为,原码实际上只是把数的符号“数码化”了,其运算方法与手算类似。例如要作x+y的运算,首先要判别符号,若x、y同号,则相加;若x、y异号,就要判别两数绝对值的大小,然后将绝对值大的数减去绝对小的数。显然,这种运算方法不仅增加运算时间,而且使设备也复杂了。而机器数的补码表示法可避免上述缺陷。软件学院 Institute of Software 用最高位表示数的符号,用 0 表示正数,1 表示负数,其余位就是该二进制

19、数的绝对值。例如一个数用8位二进制数表示,则8 的原码为 0000,1000-8的原码为 1000,100010 的原码为 0000,1010-10的原码为 1000,1010软件学院 Institute of Software 在原码表示中,0 有两种表示方法: +0 0000,0000 -0 1000,0000特点 数的表示范围(以8位二进制为例): 1111,1111 0111,1111 -127127 - 2n-1 +1 2n-1-1 (n=8)软件学院 Institute of Software3. 补码 补码表示法的指导思想:把负数转化为正数,使减法变成加法,从而使正负数的加减运算

20、转化单纯的正数相加运算。为了便于理解补码这个概念,我们以日常生活中常见的机械式钟表为例来说明。表面标有12个表示小时的刻度,时针沿着刻度周而复始地旋转。当时针超过12后,理应13,但由于没有13刻度,仍用1表示,实际上时针把12“丢掉”了,因为它把12作为0重新开始计时。假设现在表的时间不对,要“对时”。若时针停在10点上,正确时间为6点,两者差4小时。为了校正时间,可以顺拨8格;也可以逆拨4格。这就相当于是加8和减4,可以得到相同的数值。这就是模的概念,模数即为被丢掉的数值,一般用Mod来表示。软件学院 Institute of Software 显然求补码比较复杂,这里介绍一种简单的转换方

21、法:如果X0时其补码与原码相同;如果X0时其补码为:符号位为1,其它各位求反码,然后在最低位加1。所谓反码就是将1变为0,0变为1。如:X 1010101 X补=1 01010101=10101011 那么如何从X原转换成X补呢?已知X原,则正数X的补码为其本身;负数X的补码等于它的原码X原除符号位外“求反加1”。反之,已知负数的补码X补,同样可以通过对X补除符号位外“求反加1”得到它的原码X原。 在用补码减法运算求YX的值时,因为Y和X本身都可能带正负号,故应将YX写成:补X补。但这样写仍要做减法,为把减法转化为加法,可以写成:补X补。那么X补又怎么求呢?可以证明,若已知X补,把X补连同其符

22、号位一起求反加1即可得到X补。我们把X补又称为X补的机器负数。软件学院 Institute of Software 补码补码表示法:在计算机中,负数使用补码表示,符号位也是“1”,但绝对值部分却是原码的每一位取反后再在末位加“1” 例如: (43)原= 10101011绝对值部分每一位取反后为: (43)反= 11010100末位加“1”得到: (43)补= 11010101软件学院 Institute of Software 正数的补码表示与原码相同,最高位为符号位,用 0 表示正,其余位是数值位。 正数的补码是它本身。 负数的补码就是用模减去该数的绝对值。 负数的补码是它的反码加1。 (负

23、)补= (负)反+1软件学院 Institute of Software4. 反码在求反码时,与求补码相似,只是少加了一个1而以。X=1101010 X反= 01101010Y=1101010 Y反= 10010101由反码定表示法中,0的表示法不是唯一的 0反= 00000000 0反= 11111111反码又称为1的补码,它是补码的特例。通常作为求补过程的中间形式。下表列出了常用原码、补码、反码的对照表软件学院 Institute of Software 反码 正数的反码表示与原码相同,最高位为符号位,用 0 表示正,其余位是数值位。 负数的反码最高位是1,其余位是其原码的按位取反。软件学

24、院 Institute of Software例如一个数用8位二进制数表示,则8 的原码为 0000,1000 8 的反码为 0000,1000 -8的原码为 1000,1000-8的反码为 1111,0111正数的反码表示与原码相同软件学院 Institute of Software 10 的原码为 0000,1010 10 的反码为 0000,1010 -10的原码为 1000,1010-10的反码为 1111,0101软件学院 Institute of Software 在反码表示中,0 有两种表示方法: +0 0000,0000 -0 1111,1111特点 数的表示范围: 1000,

25、0000 0111,1111 -127127 - 2n-1 +1 2n-1-1软件学院 Institute of Software例如一个数用8位二进制数表示,则8 的原码为 0000,1000 8 的反码为 0000,1000 8 的补码为 0000,1000-8的原码为 1000,1000-8的反码为 1111,0111-8的补码为 1111,1000软件学院 Institute of Software 10 的原码为 0000,1010 10 的反码为 0000,1010 10 的补码为 0000,1010-10的原码为 1000,1010-10的反码为 1111,0101-10 的补码

26、为 1111,0110负数用补码表示时,可以把减法变成加法,而加法在计算机中容易实现。软件学院 Institute of Software 在补码表示中,0 有唯一的一种表示方法:特点+0 的原码为 0000,0000 -0 的原码为 1000,0000+0 的反码为 0000,0000 -0 的反码为 1111,1111+0 的补码为 0000,0000 -0 的补码为 0000,0000软件学院 Institute of Software 8位二进制数所能表示的补码范围: 1000,0000 0111,1111 -128 127 即: - 2n-1 2n-1-10 1 1 1 1 1 1

27、1 1270 1 1 1 1 1 1 0 126. . . . . .0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 01 1 1 1 1 1 1 1 -11 1 1 1 1 1 1 0 -2. . . . . . 1 0 0 0 0 0 0 1 -1271 0 0 0 0 0 0 0 -128软件学院 Institute of Software 一个用补码表示的二进制数,最高位为符号位,当符号位为0时,其余位即为此数的二进制值;但若符号位为1时,其余位不是此数的二进制值,将其余位按位取反,且在最低位加1,才是它的二进制值。例如: (X)补=11111111 则: (X)原=

28、10000001 X=-1例如: (X)补=11111001 则: (X)原=10000111 X=-7软件学院 Institute of Software补码的运算 (X+Y)补=(X)补+(Y)补 (X-Y)补=(X)补+(-Y)补已知 :X=18,Y=59 求 X-Y(X-Y)补=(X)补+(-Y)补 =(18)补+(-59)补=0001,0010+1100,0101 =1101,0111 (X-Y)原=(1101,0111)反1=1010,1000+1=10101001= -41软件学院 Institute of Software总结: 负数的反码是其正数的按位取反。 负数的补码是其反码加1。 负数的原

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论