已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,第2章计算机中数制和编码,主要内容:无符号数的表示和运算带符号数的表示和运算信息的编码定点数与浮点数表示,.,2,2.1无符号数的表示和运算,在计算机中,不仅数据是以二进制形式表示的,字母、符号、图形、汉字以及指令等都是以二进制形式表示的。数制是人们利用符号来计数的科学方法。数制分为非进位计数制,进位计数制。进位计数制:逢十进一的是十进制(n)D,Decimal逢八进一的是八进制(n)O,Octal逢二进一的是二进制(n)B,Binary逢十六进一的是十六进制(n)H。Hexadecimal,.,3,2.1无符号数的表示和运算,2.1.1无符号数的表示方法在计算机中对于无符号数分为二进制数、十进制数和十六进制数等。一般来说,任一无符号数可用多项式表示为:,NR=kiRi,.,4,R为基数,表示R进制(如R2,10,16分别表示二进制,十进制,十六进制等),i为位序号,m为小数部分的位数,n为整数部分的位数,ki为第i位上的数值,可以是0,1,2,R-1共R个数字符号中的任一个,Ri为第i位的权,NRkn-1Rn-1+kn-2Rn-2+k1R1k0R0+k-1R-1k-(m-1)R-(m-1)+k-mR-m,NR=kiRi,.,5,举例如下:,(1595.35)10=,1*103+5*102+9*101+5*100+3*10-1+5*10-2,其中:103,102,101,100,10-1,10-2分别为各位上的权;而10则是十进制数的“基数”(即09共10个数)。,.,6,不同进位制的特点:,十进制数的特点是用10个数码(09)表示所有的数,基数是10,采用逢十进一的计数方法。二进制数的特点是用2个数码(0和1)表示所有的数,基数是2,采用逢二进一的计数方法。例如:10在二进制中表示10进制的2。八进制数的特点是用8个数码(07)表示所有的数,基数是8,采用逢八进一的计数方法例如:八进制的11表示10进制的9。十六进制数的特点是用16个数码(0F)表示所有的数,基数是16,采用逢十六进一的计数方法。,.,7,二进制优点:在计算机中采用二进制记数,是因为二进制具备了如下的几个优点:易于在计算机中表示:低电平表示0,高电平表示1利于通过计算机实现逻辑运算:“假”和“真”二进制数的四则运算比较简单,错误率低由于二进制不便于书写,八进制和十六进制与二进制之间有着特殊的关系,在计算机应用中也常常使用八进制与十六进制来表示数。部分十进制、八进制、二进制、十六进制数的对照下表所示。,.,8,.,9,2.1.2各种数制的相互转换任意进制数转换为十进制数的方法很简单,只要按其进制的多项式各位按权展开求和即可。例2.1将二进制数1101.11转换十进制数。(1101.11)2=123+122+021+120+12-1+12-2=23+22+20+2-1+2-2=8+4+1+0.5+0.25=(13.75)10十进制数转换为任意进制数的方法采用。除R取余法(整数部分)乘R取整法(小数部分)。,.,10,例2.2将十进制数25.6875转换为二进制数和十六进制数。225取余:10.687521.375取整:1212取余:00.37520.75取整:026取余:00.7521.5取整:123取余:10.521.0取整:121取余:10,1,1,1,1,1,0,0,1,0,.,B,故25.6875对应的二进制数为11001.1011B。十六进制数为19.BH(注:箭头为取数方向。),.,11,十六进制和二进制之间的转换是非常简单的,只要按4位二进制数对应转换即可。方法是以小数点为界,整数部分自右至左,小数部分自左至右分组,二进制转换为十六进制,4位为一组,不足时补0。例2.3将二进制数1101110.01011B转换为十六进制数,将十六进制数3F.1BH转换成二进制数。【解】1101110.11011B0110,1110.1101,1000B6E.D8H3F.1CH=0011,1111.0001,1100B=111111.000111B,.,12,2.1.3二进制数的运算(1)算术运算规则加:000101011110(有进位)减:000110101011(有借位)乘:000111100010除:111010,.,13,(2)逻辑运算规则“与”(AND):000010100111“或”(OR):000011101111“非”(NOT):0110“异或”(XOR):000011101110,.,14,逻辑运算要用到逻辑运算符:1、逻辑与:用来表示两个条件必须同时成立。,00=010=001=011=1,例如:k1k2(x0)(y0),.,15,2、逻辑或:V用来表示只要有一个条件成立。,0V001V010V111V11,例如:(k1=1)V(k2=1),.,16,2.2带符号数的表示及运算2.2.1机器数与真值通常,把一个数及其符号位在机器中的一组二进制数表示形式称为“机器数”。机器数所表示的值称为机器数的“真值”。2.2.2机器数的表示方法在计算机中对于带符号的数是采用二进制编码(机器数)的方法表示。也即将其数的符号(正负号)用一位二进制数来表示,(“0”表示正,“1”表示负),放在最高位。其数值用二进制数表示。,.,17,带符号数的二进制编码有三种方法:原码表示法、反码表示法和补码表示法。原码定义:假设字长为n,则X0X2n-1;X为正数2n-1X2n-1X0;X为负数反码定义:假设字长为n,则X0X2n-1;X为正数2n1X2n-1X0;X为负数补码定义:假设字长为n,则X0X2n-1;X为正数2nX2n-1X0;X为负数,X原,X反,X补,.,18,1)补的概念,时钟,逆时针,-3,6,3,顺时针,+9,6,15=12+3=3,减法(63)加法(6+9),称+9是3以12为模的补数,.,19,1)补的概念,时钟,可见3可用+9代替,记作3+9(mod12),同理4+8(mod12),5+7(mod12),称+9是3以12为模的补数,例2.15:利用补码做减法,将减法变换为加法来做949+(4)9+(+8)1712+55,.,20,由上可知,正数的原码、反码和补码表示是相同的,而其负数的原码、反码和补码是有区别的,补码等于反码加1。例2.4求X5的原码,反码和补码。【解】设字长n为8,则X原2n-1X27(-5)=128510000000B101B10000101BX反2n1X281(-5)255511111111B101B11111010BX补2nX28(-5)2565100000000B101B11111011B,.,21,三种机器数的小结,对于正数,原码=补码=反码,.,22,2.2.3补码的运算目前,计算机中通常用补码进行带符号数的运算。补码运算的规则为:X补Y补XY补两数补码的和或差等于两数和或差的补码X补补X原补码再求补等于原码2.2.4溢出及其判断方法(1)进位与溢出,.,23,进位:用来判断无符号数运算结果是否超出了计算机所能表示的最大范围,是指运算结果的最高位向更高位的进位。溢出:用来判断带符号数运算结果是否超出了计算机补码所能表示的范围,是指带符号数的补码运算结果的溢出。(2)溢出的判断方法判断溢出的方法和多,常用的有:,.,24,观察法:通过观察参加运算的两数的符号及运算结果的符号进行判断,仅适用于手工运算。双符号位法:通过运算结果的两个符号位的状态来判断结果是否溢出。单符号位法:通过符号位和数值部分最高位的进位状态来判断结果是否溢出。(也称双高位法),.,25,当两个带符号的二进制数进行补码运算时,若运算结果的绝对值超过运算装置的容量,数值部分便会发生溢出,占据符号位的位置,从而引起计算错误。这和补码运算过程中的正常溢出(符号位的进位)性质上是不同的。因此,微型计算机中判断带符号数补码运算的溢出采用双高位进位判别法。假设用OF表示溢出,用Cs表示最高为(符号位)的进位,用Cp表示次高为(数值部分最高位)的进位,则有OFCsCp(或OFCsCp),.,26,若OF1说明结果溢出;若OF0说明结果不溢出。也就是说,当符号位和数值部分的最高位同时有进位或同时无进位时,结果没有溢出,否则,结果溢出。例2.5设有两个操作数x01000100B,y01001000B,将这两个操作数送运算器做加法运算,试问:若为无符号数,计算结果是否正确?若为带符号数,计算结果是否正确?,.,27,【解】无符号数带符号数0100010068+68补0100100072+72补10001100140+140补Cp=1Cs=0若为无符号数,由于Cs0(最高位向更高位的进位),说明结果未超出8位无符号数所能表达的数值范围(0255),计算结果10001100B其真值为140,计算结果正确。,.,28,若为带符号数补码,由于CsCp1,结果溢出,运算结果不正确。其实不难看出,两个正数相加结果为负数,结果肯定不正确;原因是:+68和+72两补码之和应为+140的补码,而8位带符号补码所能表达的数值范围为-128+127,结果超出该范围,溢出,所以结果是错误的。例2.6设有两个操作数x=lllOlllOB,y=l1001000B,将这两个操作数送运算器做加法运算,试问:若为无符号数,计算结果是否正确?若为带符号补码数,计算结果是否溢出?,.,29,【解】无符号数带符号数1110111023818补1100100020056补自动丢失11011011043874补Cp=1Cs=1若为无符号数,由于Cs=1,说明结果超出8位无符号数所能表达的数值范围(0255)。两操作数lllOlllOB和11001000B对应的无符号数分别为238和200,两数之和应为438255,因此,计算结果是错误的。,.,30,若为带符号数补码,由于CsCp0,结果未溢出。两操作数lll01110B和11001000B分别为18和56的补码,其结果应为74的补码形式,而计算结果10110110B正是-74的补码,因此结果正确。,.,31,2.3信息的编码信息的编码是计算机在进行人机交换信息时用到的信息(如数字、字母、符号等)的二进制编码。在计算机中常用的信息编码有两种:BCD码和ASCII码。1.BCD编码(二进制编码的十进制数)BCD码是用二进制编码表示的十进制数(Binary-CodedDecimal)。BCD码可分为两种:压缩型BCD码和非压缩型BCD码。,.,32,压缩型BCD码:是用一个字节表示两位十进制数(每个十进制数用4个二进制数表示);非压缩型BCD码是用一个字节表示一位十进制数(一位十进制数占用低4位二进制数,高4位二进制数为0)。例2.7十进制数与BCD数相互转换将十进制数69.81转换为压缩型BCD数:69.81(01101001.10000001)BCD将BCD数10001001.01101001转换为十进制数:(10001001.01101001)BCD89.69,.,33,例2.8用BCD码求3849?【解】0011100038的BCD码0100100149的BCD码1000000181的BCD码(结果不对)0000011006的BCD码(修正码)1000011187的BCD码(结果正确)384987出错原因:十进制数相加是“逢十进一”,而4位二进制数相加相当于十六进制数相加是“逢十六进一”所以当相加结果超过9时将比正确结果少6,因此结果出错。,.,34,解决办法:对二进制加法运算结果采用“加6修正”,从而将二进制加法运算的结果修正为BCD码加法运算结果。修正原则:如果两位BCD码的运算的结果大于9且小于16,则进行加6修正,若小于9,则不修正;如果两位BCD码的运算结果向高位有进位(即大于或等于16),则进行加6修正。,.,35,2.ASCII字符编码ASCII码(AmericanStandardCodeforInformationInterchange美国标准信息交换码):是用一个字节来表示一个字符,采用7位二进制代码来对字符进行编码,最高为一般为0。7位二进制代码能表示27128种不同的字符,其中包括数字(09),英文大小写字母,标点符号及控制字符等,见教材P29表2.3。,.,36,2.4数的定点与浮点表示法在计算机中,用二进制表示实数的方法有两种:即定点表示法和浮点表示法。定点表示法:是指小数点在数中的位置固定。通常将数据表示为纯小数(小数点在数值位和符号位之间)或纯整数(小数点在数值位的最后)形式。,.,37,浮点表示法:是指小数点在数中的位置是浮动的。通常浮点数的表示分为4部分:即尾数、数符、阶码和阶符。其中,尾数是二进制纯小数,指明数的全部有效数字;数符是一位二进制数,表示数的正负;阶码表示小数点移动的位数;阶符是一位二进制数,表示小数点移动的方向,阶符为0表示小数点小向右移,为1表示向左移。阶码和阶符一起表示小数点的浮动位置。,.,38,1.定点数,SfS1S2Sn,数符,数值部分,小数点位置,SfS1S2Sn,数符,数值部分,小数点位置,或,定点表示法:小数点位置固定不变,按照约定,定点小数的小数点就在数值位的最低位之后,定点整数的小数点就在最高位之前。在机器中并没有小数点的位置。,定点机:机器码是用定点数表示的计算机,1)常用的定点表示,定点小数,定点整数,.,39,定点表示,定点机,小数定点机,整数定点机,原码,补码,反码,(12-n)+(12-n),(2n1)+(2n1),1+(12-n),2n+(2n1),(12-n)+(12-n),(2n1)+(2n1),对于小于最小值的数,计算机将它们做0处理,称为下溢;那么大于最大值的数,计算机将无法表示,称为上溢,.,40,1.定点表示,优点:运算简单,速度快,硬件简单,2)定点表示的优缺点,缺点:表示范围窄,运算精度低,使用不方便如:4位定点小数运算:0.0001+1000.设比例因子2-4:0.00000001+0.10000.1000,位数不够,自然舍弃,损失了有效数据,.,41,2.浮点数,计算机中R取2、4、8、16等,阶码的位数决定了浮点数的表示范围尾数表示浮点数的精度和正负,1)浮点数:小数点的位置可以在一定范围内浮动,浮点机:用浮点数表示的计算机,.,42,2)浮点数的表示形式,Ef代表浮点数的符号,n其位数反映浮点数的精度,m其位数反映浮点数的表示范围,Ef和m共同表示小数点的实际位置,Mf表示浮点数的正负,.,43,4)浮点数表示的优缺点:优点:表数范围宽,使用方便,运算精度高。缺点:运算复杂,硬件较复杂。,.,44,当R=2,N=11.0101,=0.110101210,=1.10101201,=1101.012-10,=0.001101012100,计算机中M为定点小数、可正可负,E为定点整数、可正可负,规格化数,.,45,5)浮点数的规格化,什么是规格化数:尾数真值的最高数值位非零的浮点数即,例如:20110.1011(规格化数)21000.01011(非规格化数)因此,需要规格化,保证浮点数的唯一性而且,能保留最多的有效数字,提高精度,.,46,规格化数的特点,尾数最高位为1,如何规格化,尾数左移1位,阶码减1,尾数右移1位,阶码加1,.,47,2.5非数值信息编码,1字符与字符串的表示方法:包括字符信息,汉字信息及逻辑数据等必须是计算机能表示和处理的二进制代码。,例:IFABTHENREAD(C)参照教材P28,表2.1中的ACSII码,得到IF空格ABTHENREAD(C)二进制:0100100101000110十进制:73,70,96,65,62,66,96,84,72,69,78,96,82,69,65,68,40,67,41,96。,.,48,2.汉字编码1)汉字输入编码数字编码:电报代码1980年,信息交换用汉字编码字符集基本集,简称GB231280。国标区位码:94区94位,表示一、二级汉字6763个,每个汉字用4位十进制数字表示,如“中”字用5448表示。优点:无重码,与内部编码的转换较方便;缺点:代码难记忆。拼音码:用拼音字母输入,紫光拼音、智能ABC等。优点:易于掌握。缺点:重码多,速度慢。字型编码:采用汉字的字型(形状)进行编码。例如:五笔字型编码等。,.,49,2)汉字内码:计算机内用于汉字信息的存储、交换、检索等操作的机内代码常用两个字节的编码表示,且最高位为1。3)汉字字模码:打印机绘图仪等用点阵表示的汉字字形代码,是汉字的输出形式。常用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 标准学年论文格式要求规范
- 《电子商务基础》教案完整版-2025鲜版
- 开题报告指导老师意见集合15
- 调查活动中存在的问题及对策
- 工程合同意见反馈情况说明(3篇)
- 浅析烧结砖的耗能(下)
- 申报评审表(二)(广东省职称评审表)(中级)
- 2000字小论文标准格式模板
- 论文的基本形式
- 论文专家评语
- 2024年度护理三基试题汇编1000题(含答案)
- 美丽公路建设规范(DB3417-T 001-2019)
- 游戏动漫行业IP衍生品开发与运营方案
- 《水下岩石破碎施工技术规程》
- 神经性关节病课件
- 2024年供应链管理师(三级)资格考试复习题库(含答案)
- 武汉市江岸区2024年九年级上学期《道德》期中试题与参考答案
- 【MOOC】研究生英语科技论文写作-北京科技大学 中国大学慕课MOOC答案
- 健康照护师(长期照护师)国家职业标准2024版
- 《小学科学实验教学探究的国内外文献综述》2300字
- 2024年养殖羊场租赁合同书
评论
0/150
提交评论