




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章编码与运算基础,学习目的:掌握二进制编码的方法、运算规则及在计算机中的实现方法,了解冗余码的编码原理。主要内容:基于二进制的各种数据的编码;数值运算规则;基本逻辑电路;用于检错和纠错的冗余码的编码原理。,预备知识,22=424=1628=256210=1024220=10485761K=210=1024(Kilo)1M=1024K=220(Mega)1G=1024M=230(Giga)1个二进制位:bit(比特)8个二进制位:Byte(字节)1Byte=8bit2个字节:Word(字)1Word=2Byte=16bit,为什么用二进制,2.1计算机中的数制及其转换通常,计算机中的数据分为两类:(1)数:用来直接表示量的多少,有大小之分,能够进行加减等运算。(2)码:通常指代码或编码,在计算机中用来描述某种信息。2.1.1数制的基本概念1数的表示任何一种数制表示的数都可以写成按位权展开的多项式之和。Ndn1bn1dn2bn2dn3bn3dmbm式中:n整数的总位数。m小数的总位数。d下标表示该位的数码。b表示进位制的基数。b上标表示该位的位权。,2计算机中常用的进位计数制计数制基数数码进位关系二进制20、1逢二进一八进制80、1、2、3、4、5、6、7逢八进一十进制100、1、2、3、4、5、6、7、8、9逢十进一十六进制160、1、2、3、4、5、6、7、8、9A、B、C、D、E、F逢十六进一3计数制的书写规则(1)在数字后面加写相应的英文字母作为标识。如:二进制数的100可写成100B十六进制数100可写成100H(2)在括号外面加数字下标。如:(1011)2表示二进制数的1011(2DF2)16表示十六进制数的2DF2,2.1.2数制之间的转换(1)十进制整数转换为二进制整数采用基数2连续去除该十进制整数,直至商等于“0”为止,然后逆序排列余数。(2)十进制小数转化为二进制小数连续用基数2去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。(3)十进制整数转换为八进制整数或十六进制整数采用基数8或基数16连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得到的余数。(4)十进制小数转换为八进制小数或十六进制小数连续用基数8或基数16去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。,(5)二、八、十六进制数转换为十进制数用其各位所对应的系数,按“位权展开求和”的方法就可以得到。其基数分别为2、8、16。(6)二进制数转换为八进制数从小数点开始分别向左或向右,将每3位二进制数分成1组,不足3位数的补0,然后将每组用1位八进制数表示即可。(7)八进制数转换为二进制数将每位八进制数用3位二进制数表示即可。(8)二进制数转换为十六进制数从小数点开始分别向左或向右,将每4位二进制数分成1组,不足4位的补0,然后将每组用一位十六进制数表示即可。(9)十六进制数转换为二进制数将每位十六进制数用4位二进制数表示即可。,【例2.1】将十进制整数(105)10转换为二进制整数,采用“除2倒取余”的方法,过程如下:2105252余数为1226余数为0213余数为026余数为123余数为021余数为10余数为1所以,(105)10(1101001)2,【例2.2】将十进制小数(0.8125)10转换为二进制小数,采用“乘2顺取整”的方法,过程如下:0.812521.625取整数位10.62521.25取整数位10.2520.5取整数位00.521.0取整数位1所以,(0.8125)10(0.1101)2如果出现乘积的小数部分一直不为“0”,则可以根据精度的要求截取一定的位数即可。,【例2.3】将十进制整数(2347)10转换为十六进制整数,采用“除16倒取余”的方法,过程如下:16234716146余数为11(十六进制数为B)169余数为20余数为9所以,(2347)10(92B)16,3补码正数的补码与其原码相同,负数的补码为其反码在最低位加1。【例2.15】(1)X1011011,求其原码、补码。有:X原码01011011X补码01011011(2)Y1011011,求其原码、补码。有:Y原码11011011Y反码10100100Y补码10100101补码表示的整数范围是2n-1(2n-11),n为机器字长。则:8位二进制补码表示的整数范围是12812716位二进制补码表示的整数范围是3276832767当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。,?,2.2计算机中数值数据的表示,2.2.1基本概念在计算机内部表示二进制数的方法称为数值编码,把一个数及其符号在机器中的表示加以数值化,称为机器数。机器数所代表的数称为数的真值。表示一个机器数,应考虑以下三个因素:1机器数的范围字长为8位,无符号整数的最大值是(11111111)B=(255)D,此时机器数的范围是0255。字长为16位,无符号整数的最大值是(1111111111111111)B=(FFFF)H=(65535)D此时机器数的范围是065535。,2机器数的符号在算术运算中,数据是有正有负的,将这类数据称为带符号数。为了在计算机中正确地表示带符号数,通常规定每个字长的最高位为符号位,并用0表示正数,用1表示负数。3机器数中小数点的位置在机器中,小数点的位置通常有两种约定:一种规定小数点的位置固定不变,这时的机器数称为“定点数”。另一种规定小数点的位置可以浮动,这时的机器数称为“浮点数”。,2.2.2计算机中的数1原码正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。用这样的表示方法得到的就是数的原码。【例2.13】当机器字长为8位二进制数时:X1011011X原码01011011Y1011011Y原码110110111原码000000011原码10000001127原码01111111127原码11111111原码表示的整数范围是:(2n-11)(2n-11),其中n为机器字长。则:8位二进制原码表示的整数范围是12712716位二进制原码表示的整数范围是3276732767,2反码对于一个带符号的数来说,正数的反码与其原码相同,负数的反码为其原码除符号位以外的各位按位取反。【例2.14】当机器字长为8位二进制数时:X1011011X原码01011011X反码01011011Y1011011Y原码11011011Y反码101001001反码000000011反码11111110127反码01111111127反码10000000负数的反码与负数的原码有很大的区别,反码通常用作求补码过程中的中间形式。反码表示的整数范围与原码相同。,3补码正数的补码与其原码相同,负数的补码为其反码在最低位加1。【例2.15】(1)X1011011(2)Y1011011(1)根据定义有:X原码01011011X补码01011011(2)根据定义有:Y原码11011011Y反码10100100Y补码10100101补码表示的整数范围是2n-1(2n-11),其中n为机器字长。则:8位二进制补码表示的整数范围是12812716位二进制补码表示的整数范围是3276832767当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。,4补码与真值之间的转换,正数补码的真值等于补码的本身;负数补码转换为其真值时,将负数补码按位求反,末位加1,即可得到该负数补码对应的真值的绝对值。【例2.16】X补码01011001B,X补码11011001B,分别求其真值X。(1)X补码代表的数是正数,其真值:X1011001B(126124123120)(641681)(89)D(2)X补码代表的数是负数,则真值:X(1011001求反1)B(01001101)B(0100111)B(125122121120)(32421)(39)D,2.2.3定点数和浮点数表示,1定点数由于定点位置不同,一般又分为两种情况。对于整数,小数点约定在最低位的右边,称为定点整数。对于纯小数,小数点约定在符号位之后,称为定点小数。2浮点数如果要处理的数既有整数部分,又有小数部分,则采用定点数会遇到麻烦。为此可以采用浮点数,即小数点的位置不固定。,进位与溢出的概念,两数相加,结果超过定点数字位能够表示的无符号数范围(最高位产生进位),称为进位。两数相加,结果超过定点数字位能够表示的有符号数范围(与进位无关),称为溢出。计算机中减法出现借位时等同于进位。,进位与溢出的例子,42H+55H=97HC=0,O=1;42H-55H=42H+(-55H)=42H+0ABH=0EDH=-13HC=0,O=0;-42H+55H=(-42H)+55H=0BEH+55H=113HC=1,O=0-42H-55H=(-42H)+(-55H)=0BEH+0ABH=169HC=1,O=1,2.3字符编码2.3.1美国信息交换标准代码(ASCII码),ASCII(AmericanStandardCodeforInformationInterchange)码是美国信息交换标准代码的简称,用于给西文字符编码;包括英文字母的大小写、数字、专用字符、控制字符等;这种编码由7位二进制数组合而成,可以表示128种字符;在ASCII码中,按其作用可分为:34个控制字符;10个阿拉伯数字52个英文大小写字母;32个专用符号,2.3.2二十进制编码BCD码,BCD(Binary-CodedDecimal)码又称为“二十进制编码”,专门解决用二进制数表示十进数的问题。最常用的是8421编码,其方法是用4位二进制数表示1位十进制数,自左至右每一位对应的位权是8、4、2、1。1压缩BCD码每一位数采用4位二进制数来表示,即一个字节表示2位十进制数。例如:二进制数10001001B,采用压缩BCD码表示为十进制数89D。2非压缩BCD码每一位数采用8位二进制数来表示,即一个字节表示1位十进制数。而且只用每个字节的低4位来表示09,高4位为0。例如:十进制数89D,采用非压缩BCD码表示为二进制数是:0000100000001001B,2.4汉字编码2.4.1基本概念计算机处理汉字信息的前提条件是对每个汉字进行编码,这些编码统称为汉字代码。在汉字信息处理系统中,对于不同部位,存在着多种不同的编码方式。比如,从键盘输入汉字使用的汉字代码(外码)就与计算机内部对汉字信息进行存储、传送、加工所使用的代码(内码)不同,但它们都是为系统各相关部分标识汉字使用的。系统工作时,汉字信息在系统的各部分之间传送,它到达某个部分就要用该部分所规定的汉字代码表示汉字。因此,汉字信息在系统内传送的过程就是汉字代码转换的过程。这些代码构成该系统的代码体系,汉字代码的转换和处理是由相应的程序来完成的。,1汉字输入码汉字输入码是为用户由计算机外部输入汉字而编制的汉字编码,又称为汉字外部码,简称外码。使用较多的有以下4类:(1)顺序码:如区位码、电报码等。(2)音码:如拼音码、自然码等。(3)形码:如五笔字型、大众码等。(4)音形码:如双拼码、五十字元等。2汉字机内码汉字机内码是汉字处理系统内部存储、处理汉字而使用的编码,简称内码。3汉字字形码汉字字形码是表示汉字字形信息的编码。4汉字交换码汉字交换码是汉字信息处理系统之间或通信系统之间传输信息时,对每个汉字所规定的统一编码。,2.4.2汉字代码的表示方法,2.4.3几种常用的汉字编码,1国标码即“中华人民共和国国家标准信息交换汉字编码”(代号GB2312-80)。共收录汉字和图形符号7445个。其中:一级常用汉字3755个;二级非常用汉字和偏旁部首3008个;图形符号682个。2区位码将GB2312-80全部字符集组成一个9494的方阵,每一行称为一个“区”,编号从0194;每一列称为一个“位”,编号也是从0194。这样,每一个字符便具有一个区码和一个位码,将区码置前,位码置后,组合在一起就成为区位码。,3BIG-5码BIG-5码是我国台湾地区编制和使用的一套中文内码。它是为了解决各生产厂家中文内码不统一的问题而设计出的一套编码,并采用5大套装软件的“五大”命名为“BIG-5”码,俗称“大五码”。4GB13000码国际标准化组织(ISO)于1993年公布了“通用多八位编码字符集”的国际标准(ISO/IEC10646)。我国发布了与其一致的国家标准,即GB13000码。,2.5运算逻辑基础存储单元的寻址与编码,CPU,#0,#1,#2N-2,#2N-1,译码电路,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025级临床药理学题库及答案
- (2025年)四川省攀枝花市中级会计职称经济法预测试题含答案
- 摄影爱好者基础知识培训课件
- 物流装备技术试题题库及答案
- 2025关于标准合同解除劳动合同证明书范本
- 2025租赁合同范本模板
- 2025汽车销售合同简单范文
- 2025新版技术咨询合同
- 2025补偿安置房屋交易合同
- 搪瓷基本知识培训内容
- 温硝化制硝基苯装置的改进
- 保教知识与能力幼儿园课件
- 财务部半年度述职汇报PPT模板
- 药品种类清单
- 公共基础知识(社区工作者基础知识)试题(附答案)
- GB/T 37915-2019社区商业设施设置与功能要求
- GB/T 31298-2014TC4钛合金厚板
- 《电业安全工作规程》
- 卡西欧gw5600说明书
- 中兴NGN培训教材 MSG9000结构原理介绍课件
- 穿湖隧道施工组织设计
评论
0/150
提交评论