已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.4计算机运算基础,一、计算机中的数制用一组符号表示数值时,数值的大小不但与每一个符号所表示的值有关,还与这个符号所处的位置有关,这种表示方式称为数的位置表示法。我们通常使用的数值表示法都位置表示法,每一个位置具有一定的数量级。比如常用的十进制数其各位的数量级就是10X,其中X为该符号相对小数点的位置。比如十进制数an-1an-2a1a0.a-1a-2a-m,所表示的数值大小N为:,N=an-110n-1+an-210n-2+a1101+a0100+a-110-1+a-210-2+a-m10-m,推广到一般情况,假设一种数的进制为Y进制,则其各位数量级就是YX(X表示该位与小数点之间的距离关系),Y进制数an-1an-2a1a0.a-1a-2a-m所表示的数值大小为N=an-1Yn-1+an-2Yn-2+a1Y1+a0Y0+a-1Y-1+a-2Y-2+a-mY-m其中:a:被称为数码在位置表示计数中,用一组数字符号来表示数值,这一组数字符号称为数码,用于表示每一位上的数值。例如:十进制数的数码是:0、1、2、3、4、5、6、7、8、9Y:被称为基数,它表示数码的个数,十进制中基数为10。YX:被称为位权,它表示不同位置数码的数量级。,二进制,二进制数是计算机中常用的一种记数方法,它使用“”,“”这两个数码构成以为基数的进制表达方式。其基本运算规则为“逢二进一,借一当二”。,八进制,使用二进制表达一个数值需要较长的编码。为了便于记忆和使用,人们将三位二进制数作一组用一个符号表示,构成八了进制,这样可以把数码的长度缩短三分之二。把二进制数按三个一组的方式进行分组,每一组将产生23种组合,因此需要8个数码来表示每一位数值,这样就构成了八进制。八进制使用0,1,2,3,4,5,6,7,共八种符号来表示数码。,二八进制数转换,二进制数转换为对应的八进制数十分方便,具体分为两步:1)以小数点为中心将二进制数三位一组进行分组;2)将每一组用对应的八进制符号进行代换,这样就将二进制数转换成了对应的八进制数。八进制转换为对应的二进制数,只需要将每一个八进制数码直接用对应的三位二进制数代换即可。,例:设有两个二进制数011110101000,0.10101011,试将它们转换成对应的八进制数。,011,110,101,0000.101,010,110,八进制数36500.526,十六进制,在计算机中常以字节为基本单位来表达和记录信息,一个字节由八位二进制数组成。八位二进制数转换成八进制数并不方便,而且一个字节需要使用三个八进制符号表示。如果将八位二进制数分为两组,每组四位,就可以用两个符号表示一个字节的数据,十分便于记忆和表达。由于四位二进制数可以产生24种组合,因此需要16种数码来表示一个四位二进制数,这样就产生了十六进制。在十六进制中使用的数码分别为:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。,二进制与十六进制之间的对应关系如下:二进制00000001001000110100010101100111十六进制01234567二进制10001001101010111100110111101111十六进制89ABCDEF,二进制数与十六进制数转换,二进制数转换为对应的十六进制数也分为两步:1)以小数点为中心将二进制数四位一组进行分组;2)将每一组用对应的十六进制符号进行代换,这样就将二进制数转换成了对应的十六进制数。十六进制转换为对应的二进制数,只需要将每一个十六进制数码直接用对应的四位二进制数代换即可。,例:设有两个二进制数11110101000,0.101010111,试将它们转换成对应的十六进制数。,0111,1010,10000.1010,1011,十六进制数7A80.AB,二进制数与十进制数转换,十进制数是人们最常使用的一种数的表达和运算方式,每一个十进制数由0,1,2,3,4,5,6,7,8,9十种符号组成。十进制数与二进制数之间无法直接进行代换,需要使用一定的计算方法。可以从它们的数学表达中来描述这种转换关系,假设有十进制整数X,若其对应的二进制数可表示为an-1an-2a1a0,则有如下等式成立:X=an-12n-1+an-22n-2+a121+a020,该等式两边同时除以2,得X/2=an-12n-2+an-22n-3+a120余数为a0再同时除以2,得(X/2)/2=an-12n-3+an-22n-4+a220.余数为a1,反复除以2.最后得X/2n=0余数为an-1将所得余数从下往上依次排列就是十进制数X对应的二进制数an-1an-2a1a0,这种方式称为“除留余数法”或“除2法”。,例:将十进制数123,用除2法转换成对应的二进制数。,1111011B即为123D对应的二进制数,设如果有十进制纯小数0.Y,其对应的二进制数为0.a-1a-2a-m则有等式:0.Ya-12-1+a-22-2+a-m2-m如果将等式两边乘以2,则有(0.Y)2(a-12-1+a-22-2+a-m2-m)2=a-1+a-22-1+a-m2-m+1取等式两边的整数部分,则有(0.Y)2取整a-1将两边小数部分再乘以2(0.Y2a-1)2=(a-22-1+a-m2-m+1)2a-2+a-32-1+a-m2-m+2取等式两边的整数部分,则有(0.Y2-a-1)2取整a-2依此类推则可得到二进制数的各位数值。然后排列成0.a-1a-2a-m即可,这种方法称为“乘2取整法”或“乘2法”。,例:将十进制数0.625,采用乘2法转换成对应的二进制数。,注意:有些数可能永远也无法通过乘2的方式变成整数,一直会有小数部分,当所需要的精度达到后就不用再进行乘法操作了。如:0.725,0.225,从以上的计算过程可以看出,十进制数转换成对应的二进制数需要分为两步进行:(1)将十进制数的整数部分采用“除2法”转换成对应的二进制整数;(2)将十进制数的小数部分采用“乘2法”转换成对应的二进制小数。最后将转换的整数部分和小数部分合并即可得到十进制数转换成的二进制数。,不同进制数据,相同的表示会有不同的数值大小,为了在表示数据时不产生歧义,通常在数据最后加一个字母来区别不同的进制。十进制数使用D表示(可以省略),二进制数使用B表示,八进制数使用Q表示,十六进制使用H表示。其对照关系如右表所示。,二、计算机中数的表示和运算,在计算机中无论是数据还是其它信息都是采用一定长度的二进制数表达。对于不同的信息,所需要的二进制数长度也不同。人们规定:在微型计算机中以八位二进制数为一个基本单位来分配存储地址,称为字节(Byte)。任何一个信息最少要用一个八位二进制数来表达,如果需要更长的二进制数表达某些信息则需要使用八的整数倍二进制数,如16位,32位等。X86系统中常用的数据长度单位有:字节:8个二进制位(Byte)1Byte=8bit字:2个字节(Word)1Word=2Byte=16bit双字:4个字节(DoubleWords),1DoubleWords=4Byte=32bit四字:4个字(QuadWords),1QuadWords=4W=8Byte=64bit十字节:10字节(TenBytes),1TenBytes=10Byte=80bit,计算机中多字节数据的存储,在计算机中每一个字节存储空间分配一个地址,多字节数据需要多个存储地址。用哪一个地址来表示多个字节组成的数据呢?,计算机中多字节数据有两种数据存储方式,一种称为大端存储法,另一种称为小端存储法。所谓大端存储就是将多个字节数据依次存放,将高字节数据存放到低地址,将低字节数据存放到高地址。所谓小端存储就是将多个字节数据依次存放,高字节数据存放到高地址,低字节数据存放到低地址。如32位数据12345678H存放到起始地址为100H的存储器中。两种不同的存储方式下数据在内存中的示意如图:,(a)大端存储(b)小端存储,X86系列CPU采用小端存储,BCD码,如果使用二进制数对十进制的数码进行编码,并利用编码的位置关系来表达十进制数的位权关系,则可以更方便地在计算机中对十进制数进行表示和运算。常用的编码称为二十进制码或称BCD码(BinaryCodedDecimal)。如:十进制数100如果直接进行数值转换,用二进制数表示就应该是0110,0100B(64H),需要进行7次除2取余计算得到。而使用BCD编码,就可以直接表示为0001,0000,0000B,100也就是直接将十进制数的每一位数码转换成一个对应编号,然后按其位置进行排列来表示该数。这极大地方便了十进制数的表达和转换。,由于计算机中数据地址分配的基本单位是字节,因此,对每一个数码进行编号通常是以字节为单位进行的,也就是说每一个数码将由八位二进制编码。这种BCD码称为非压缩BCD码。显然非压缩BCD码的浪费很大。如果每一个十进制数码用四位二进制编码,则可以减少一半存储空间。这种BCD码称为压缩BCD码。其对照表如右图。,二进制:逢二进一,借一当二加法规则减法规则0+0=00-0=00+1=10-1=1(借1)1+0=11-0=11+1=0(进1)1-1=0十六进制:逢十六进一,借一当十六C3H35H85H2CH148H09H,算术运算的基本规则,逻辑运算的基本规则,例:X=00FFHY=5555H,求Z=XY=?X=0000000011111111BY=0101010101010101BZ=0101010110101010BZ=55AAH,有符号数表示和运算,有符号数在计算机中表示时,除了数值大小外,还有相应的正负号,通常正负号以二进制数据最高位来表示。不同计算机处理能力和表示范围有所不同,表示一个数据所使用的二进制位数也不相同,通常是字节的整数倍,如:8位、16位、32位等。假设机器字长为8位:,常用表示法原码、反码、补码原码表示法:符号+绝对值例:n=8bit+3原码=0000,0011=03H-3原码=1000,0011=83H+0原码=0000,0000=00H-0原码=1000,0000=80H0的表示不唯一,反码表示法:正数的反码同原码,负数的反码数值位与原码相反例:n=8bit+5反码=0000,0101=05H-5反码=1111,1010=FAH+0反码=0000,0000=00H-0反码=1111,1111=FFH0的表示不唯一,补码表示法:正数的补码:同原码+1补码=00000001=01H+127补码=01111111=7FH+0补码=00000000=00H,负数的补码:(1)写出与该负数相对应的正数的补码(2)按位求反(3)末位加一,取反加一,-1补码=11111111=FFH-127补码=10000001=81H-128补码=10000000=80H-0补码=00000000=00H(+0、-0相同),n位补码的表数范围:-2n-1N2n-1-1n=8-128N127n=16-32768N32767,移码表示法:在数的真值上加一个偏移量形成。X移=2n-11+X其中-2n-1X2n-1,n为包括符号位在内的二进制码长度,X为待转换的实际数值,即X用加/减号表示符号,绝对值表示数值,相当于将所有X的原码加上2n-1-1。,例:如X=100,Y=100,用八位二进制数表示它们的移码为:X=+01100100,Y=01100100,28-11=01111111则X移=0111111101100100=11100011Y移=0111111101100100=00011011,数值0的移码表示为+0移=0111111100000000=01111111-0移=0111111100000000=01111111,相当于将所有数值都向正向移动了2n-11,有符号数的加减运算计算机中数据的加减运算,通常以补码方式进行:加法规则:XY补码=X补码Y补码减法规则:XY补码=X补码Y补码补码进行减法运算可转换为对应的加法运算,计算中符号位参与运算,并能得到正确结果。,溢出问题及判断:,由于补码中最高位为符号位,当计算结果超过补码表示范围时,可能导致不正确的进位,从而产生错误结果,这时称为溢出。溢出是超出补码表示范围,即计算结果绝对值过大引起。因此,计算结果溢出的基本条件是计算结果的绝对值大于参与计算的两个数的绝对值。很显然,只有当两个参与计算的数为同号相加,或异号相减时才可能出现溢出问题。当同号相加,或异号相减时,计算结果的绝对值超过补码表示范围(-2n-1N2n-1-1)时,才产生溢出。,如:计算机字长为时(+120)+(+30),(-50)+(-80)同号相加产生生溢出(+34)(-95)和(-45)(+123)异号相减产生溢出,使用二进制表示时,判断溢出的基本方法:)根据参与运算的两个数最高位,判断是否为同符号数相加或异符号数相减运算。)如果有减法则将减法转换为对应的补码加法运算,作加法运算后,若计算结果的符号位与被加数(被减数)符号不相同,则可判断有溢出发生。,(-120)+(-30)=10001000补+11100010补10001000补11100010补,进101101010符号位与被加数不同,溢出,(+34)(-95)=00100010补+01011111补00100010补01011111补,10000001符号位与被减数不同,溢出,(-100)+(-1)=10011100补+11111111补(-45)(+23)=11010011补+11011001补是否溢出?,定点与浮点数表示法,定点表示法:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食堂大米购买合同范本
- 葡萄园顶岗试题带答案
- 脑科护士考试题库及答案
- 税务内部审计题库及答案
- 2026-2031年中国农用薄膜市场需求状况分析及投资前景建议报告
- 2026-2031年中国麝香市场研究与投资前景报告
- 焊工职业技能理论试题及答案
- 基于校本研究的小学活动课程体系构建-以M小学为范例的深度剖析
- 基于染色体整合位点差异构建木糖代谢重组酿酒酵母菌株的研究
- 税务核算例题题库及答案
- 中国围棋历史规则模具介绍《围棋入门基础知识介绍》课件
- DBJ51-T 040-2021 四川省工程建设项目招标代理操作规程
- 《酒店客户关系管理 》课件-项目八 酒店客户关系数字化运营
- 首都经济贸易大学《法理学》2021-2022学年第一学期期末试卷
- 实验11 探究通电螺线管外部磁场的方向
- 仓库保管承诺保证书
- 六年级《水果拼盘》名师公开课获奖课件百校联赛一等奖课件
- 创新方法大赛理论知识考核试题题库及答案
- 激光熔覆技术优化
- 院前急救各种急救应急预案
- 宅基地转让协议书
评论
0/150
提交评论