您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第2章计算机中的信息表示及运算_新改
2020/2/271第2章计算机中的信息表示及运算本章要点:掌握数据的表示及其转换掌握数值型数据的表示方法重点掌握数的运算掌握文字信息的编码及表示2020/2/2722.1数据的表示及其转换计算机处理的信息可分为两大类:一类是按进位计算制表示的有大小、正负之分的数值信息;另一类是非数值信息,如字符、文字、图像、逻辑数据等。计算机内部所有信息都要转换成0和1表示的二进制编码2.1.1计算机中信息的表示目前的电子计算机是一种电子设备,只认识电信号,即:电平高低、电路通断、晶体管的导通与截止、电子开关的开与关。用0和1表示一个二进制位(电信号的两个状态),计算机中的任何信息都是0与1的特定组合。信息表示的单位:bit(比特):一个二进制位。Byte(字节):8个一个二进制位。Word(字):16位机中是2个字节。2.1.2数制表示计算机汇编语言中常用的计数制有十进制数(Decimal)、二进制数(Binary)、十六进制数(Hexadecimal)和八进制数(Octal)。(1)十进制数最常用的十进制数,每个数位上允许选用0,1,2,……,9共10个不同数码中的1个,因而十进制数的基数为10,每位计满10时向高位进1。每个数码所表示的数值等于该数码乘以一个与数码所在位有关的常数,这个常数就叫“位权”,简称权。位权的大小是以基数为底,数码所在位置的序号为指数的整数次幂。它的运算规则是“逢十进一,借一为十”。在书写二进制时,为了区别,在数据后面紧跟一个字母B。例如236.75D=2*102+3*101+6*100+7*10-1+5*10-2(3)八进制数八进制数是0到7这八个数码组成,它的基数为8,各位的权值为8i。八二进制数的运算规则是“逢八进一,借一为八”。在书写时,为了区别,在数据后面紧跟一个字母Q。例如,1234Q、7654Q、54Q等都是八进制。(4)十六进制数十六进制数是由0到9和A,B,C,D,E和F(小写也可以,分别代表10到15)这十六个数码组成的,它的基数为16,各位的权值为16i。它的运算规则是“逢十六进一,借一为十六”。在书写时,为了区别,在数据后面紧跟一个字母H。当十六进制数的第一个字符是字母时,在第一个字符之前必须添加一个0。例如,100H、56EFH、0FFH、0ABCDH等都是十六进制数。加0是为了和寄存器相区别,例如,AH可以理解为寄存器,只有前面加0为0AH才合适理解为16进制数。(3)十六进制数如:‘2AE.4’这样表示:(2AE.4)16=2x162+Ax161+Ex160+4x16-1位的数码-----可为‘0,1,2……9,A,B,C,D,E,F’16个数中任何数位的基数------16位权------16i对于任何一种数制表示的数,我们都可以写成按位权展开的多项式之和,其一般形式为:N=dn-1bn-1+dn-2bn-2+….d1b1+d0b0+d-1b-1+d-2b-2+.……d-mb-m式中:n——整数的总位数。m——小数的总位数。d下标——表示该位的数码。b——表示进位制的基数。为了区分各种计数制的数据,经常采用以下两种方法进行书写表达。(1)在数字后面加写相应的英文字母作为标识。如:B(Binary)表示二进制数;10010101BO(Octonary)表示八进制数;376.3OD(Decimal)表示十进制数,通常其后缀可以省略;H(Hexadecimal)表示十六进制数。2A8.FH(2)在括号外面加数字下标,此种方法比较直观。如:二进制的11010011可以写成(11010011)2。表2-1不同进位记数制对照表171615141312111076543210八进制表2-2不同计数制的基数、数码、进位关系和表示方法计数制基数数码进位关系表示方法二进制20、1逢二进一1010B或(1010)2八进制80、1、2、3、4、5、6、7逢八进一247O或(247)8十进制100、1、2、3、4、5、6、7、8、9逢十进一598D或(598)10十六进制160、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F逢十六进一7C2FH(7C2F)162.1.3数制之间的转换(1)十进制转换为非十进制【例2.1】将十进制整数(103)10转换为二进制整数。按照转换规律,采用“除2倒取余”的方法,过程如下:2︳1032︳51余数为12︳25余数为12︳12余数为12︳6余数为02︳3余数为02︳1余数为10余数为1所以,(103)10=(1100111)2【例2.2】将十进制小数(0.8125)10转换为二进制小数。按照转换规律,采用“乘2顺取整”的方法,过程如下:0.8125×2=1.625取整数位10.625×2=1.25取整数位10.25×2=0.5取整数位00.5×2=1.0取整数位1所以,(0.8125)10=(0.1101)2若出现乘积的小数部分一直不为“0”,则可以根据计算精度的要求截取一定的位数即可。【例2.3】将十进制整数(1685)10转换为八进制整数。按照转换规律,采用“除8倒取余”的方法,过程如下:8︳16858︳210余数为58︳26余数为28︳3余数为20余数为3所以,(1685)10=(3225)8【例2.4】将十进制整数(2347)10转换为十六进制整数。按照转换规律,采用“除16倒取余”的方法,过程如下:16︳234716︳146余数为11(十六进制数为B)16︳9余数为20余数为9所以,(2347)10=(92B)16【例2.5】将十进制小数(0.7125)10转换为八进制小数。按照转换规律,采用“乘8顺取整”的方法,过程如下:0.7125×8=5.7取整数位50.7×8=5.6取整数位50.6×8=4.8取整数位40.8×8=6.4取整数位6若数据的计算精度取小数点后4位数,则其后的数可以不再计算。所以,(0.7125)10=(0.5546)8【例2.6】将十进制小数(0.8129)10转换为十六进制小数。按照转换规律,采用“乘16顺取整”的方法,过程如下:0.8129×16=13.0064取整数位13(十六进制数为D)0.0064×16=0.1024取整数位00.1024×16=1.6384取整数位10.6384×16=10.2144取整数位10(十六进制数为A)取数据的计算精度为小数点后4位数。所以,(0.8129)10=(0.D01A)16(2)非十进制数转换为十进制采用按位权展开求和的方法:【例2.7】将二进制数(1011001.101)2转换为十进制数。采用按位权展开求和的方法,过程如下:(1011001.101)2=1×26+1×24+1×23+1×20+1×2-1+1×2-3=64+16+8+1+0.5+0.125=(89.625)10【例2.8】将十六进制数(2D7.A)16转换为十进制数,过程如下:(2D7.A)16=2×162+13×161+7×160+10×16-1=512+208+7+0.625=(727.625)10(3)◆二进制与十六进制数相互转换四位二进制数转换为一位十六进制数(因为24=16)。如:110100110.101101000110100110.101101001A6.B4(110100110.101101)2=(1A6.B4)16◆二进制与八进制数相互转换三位二进制数转换为一位八进制数(因为23=8)。1110101.01001001110101.010010165.22(1110101.01001)2=(165.22)8反之亦然反之亦然2020/2/27212.2数值型数据的表示方法一个数值型的数据既有大小,又可能有正负;即可能是整数,又可能是小数。而在计算机中,数的所有信息都要通过二进制编码的形式表示出来。数据是计算机处理的对象,数据表示是计算机运算的基础。在选择数据的表示方式时,需要考虑以下几个因素:(1)要表示的数的类型(小数、整数、实数和复数);(2)可能遇到的数值范围;(3)数值精确度;(4)数据存储和处理所需要的硬件代价。2.2.1机器数的概念及其特点机器数是指一个数值数据在计算机中的二进制表示形式,即一个数值数据的机内编码。如前所述,一个数值型数据的所有信息都要以二进制编码的形式表示出来,因此,机器数有以下的特点:(1)符号位数码化数的符号位在计算机中也要以二进制编码的形式表示出来。通常用的方法是用一位二进制的“0”来代表“+”,用“1”来代表“—”。通常这个符号放在二进制数最高位,称为符号位。这样机器中数的符号就被数值化了,符号数值化是机器数的一个特点。(2)小数点位置确定小数点在一个机器中的位置通常是事先约定隐含在一个固定位置上,而不再占据机器数中的数位。约定的具体方法在后面会有介绍。小数点位置用一定方式约定,这是机器数的又一个特点。(3)每个机器数对应唯一的真值机器数所代表的实际值叫真值。由于机器数的编码中包含有除数值大小之外的信息,因此,一个机器数形式上的值就不等于其实际的数值大小。但某种编码规则下一个机器数应该代表一个唯一的实际值。(4)机器数表示数的范围和精度受机器字长的限制在计算机中作为整体进行传输和参与运算的一个二进制串称为字。每个字中包含的二进制位数称为字长,即字长是CPU一次能够并行处理二进制数据位数。一般来说,字长越长,机器数所能表示的二进制数的范围就越大,表示数的精度就越高。2.2.2数值型数据的表示形式数值型数据多带有小数,小数点在计算机中通常有两种形式:一种是约定所有数值数据的小数点隐含在某个固定位置上,称为定点表示法;另一种小数点的位置可以浮动,称为浮点表示法。计算机常用的数据表示格式有两种:定点格式和浮点格式。一般来说,定点格式容许的数值范围有限,但要求的处理硬件比较简单。而浮点格式容许的数值范围很大,但所要求的处理硬件比较复杂。(1)定点数表示法(fixed-point)所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。在计算机中通常采用两种简单的约定:将小数点的位置固定在数据的最高位之前,或者是固定在最低位之后。一般常称前者为定点小数,后者为定点整数。定点表示法:表示小数点的位置是固定不变的。分为纯整数和纯小数两类。定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。若数据x的形式为x=x0.x1x2…xn(其中x0为符号位,x1~xn是数值的有效部分,也称为尾数,x1为最高有效位),则在计算机中的表示形式为:一般说来,如果最末位xn=1,前面各位都为0,则数的绝对值最小,即|x|min=2-n。如果各位均为1,则数的绝对值最大,即|x|max=1-2-n。所以定点小数的表示范围是:2-n≤|x|≤1-2-n●纯小数表示方法定点整数是纯整数,约定的小数点位置在有效数值部分最低位之后。若数据x的形式为x=x0x1x2…xn(其中x0为符号位,x1~xn是尾数,xn为最低有效位),则在计算机中的表示形式为:定点整数的表示范围是:1≤|x|≤2n-1当数据小于定点数能表示的最小值时,计算机将它们作0处理,称为下溢;大于定点数能表示的最大值时,计算机将无法表示,称为上溢,上溢和下溢统称为溢出。●纯整数表示方法计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运算,运算结果,根据比例因子,还原成实际数值。若比例因子选择不当,往往会使运算结果产生溢出或降低数据的有效精度。用定点数进行运算处理的计算机被称为定点机。(2)浮点表示法浮点表示法中小数点的位置是不固定的。任意二进制数N一般可表示为:N=2P×w(尾数)一个浮点数分为阶码和尾数两部分,二者各有表示正负的阶符和数符,常用存储格式:阶符阶码数符尾数四字节浮点数格式,它由一个字节指数(EXP)、三个字节尾数构成,共用四个存储单元。SEXP(指数)S02423223130尾数阶符阶码尾符图单精度浮点数举例:将数224转换成单精度浮点数224=11100000B=0.111X
本文标题:第2章计算机中的信息表示及运算_新改
链接地址:https://www.777doc.com/doc-4008141 .html