已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数在计算机中的表示方法及编码计算机中的信息不仅有数据,还有字符、命令,其中数据还有大与小、正数与负数之分。计算机是如何用“0”或“1”,来表示这些信息的呢?1计算机中数的表示形式在计算机中,只有数码1和0两种不同的状态,对于一个数的正、负号,两种不同状态,约定正数的符号用0表示,负数的符号用1表示,将符号位放在数的最左边。例如:N11011,N21011。由于MCS51为8位单片机,即信息是以8位为单位进行处理的,且每个存贮单元只能存贮个8位的二进制数,称为一个字节,如果用一个字节(即8位二进制数)来表示上述两个符号数,它们在单片机中可分别表示为:00001011和10001011,其中最高位为符号值,其余位为数值位。最高位为0表示是正数,最高位为1表示是负数。这种计算机用来表示数的形式叫机器数。而把对应于该机器数的算术值叫真值。 值得注意的是:机器数和真值的面向对象不同,机器数面向计算机,真值面向用户,机器数不同于真值。但真值可以用机器数来表示。机器数是计算机中表示数的基本方法,机器数通常有原码、反码和补码三种形式。(1)原码表示方法用8位二进制数表示数的原码时,最高位为数的符号位,其余7位为数值位。例如:真值为120和120的原码形式120原01111000120原11111000对于零,可以认为它是正零,也可以认为它是负零,所以零的原码有两种表示形式:+0原00000000-0原100000008位二进制数原码表示范围为:1111111101111111,即127127。(2)反码表示方法在反码表示方法中,正数的反码与原码相同,负数的反码由它对应原码除符号位之外,其余各位按位取反得到。例如:120反+120原01111000120反10000111零的反码有两种表示方式,即:0反000000000反111111118位二进制数反码表示范围为:1111111101111111,即127127。(3)补码表示方法补码的概念:先以钟表对时为例,假设现在的标准时间为5点整,而有一只表却已是7点,为了校准时间,可以采用两种方法:一是将时针退2格,即725;一是将时针向前拨10格,即71012(自动丢失)5,都能对准到5点。可见,减2和加10是等价的,我们把(10)称为(2)对12的补码,12为模,当数值大于模12时可以丢弃12。在字长为8位的二进制数字系统中,模为28256,先看看下例:01000000 64 01000000 6411110110 246 00001010 10 1 00110110 54 1 00l10110 54由此可见,在字长为8位情况下(6410)与(64246)的结果是相同的,所以(10)和246互为补数。在补 码表示方法中,正数的补码与原码相同,负数的补码由它对应原码除符号位之外,其余各位按位取反且末位加一得到。例如:120补+120原01111000现在我们看一看(10)的补码11110110怎样求得。正数的补码表示方法与原码相同负数的补码求法:1)利用反码求补码:反码加1。如:10原100010l010反1111010110补111101102)利用原码求补码(直接求补法):找出原码中数值位的最右边的一个“1”,将这个“1”以及这个“1”右边各位保持不变,而将这个“1”左边各位按位取反,但符号位不变。如:10原100010l010补11110110采用补码表示数,可将减法运算转换成加法运算。在补码表示法中,零的补码只有一种表示法,即 +0补-0补00000000。对于八位二进制数而言,补码能表示的数的范围为128127。【例1-10】已知X=+1010B,Y=1010B,写出它们的原码、反码和补码形式。+1010B原00001010B 1010B原10001010B+1010B反00001010B 1010B反11110101B+1010B补00001010B 1010B补11110110B2补码的加减运算当用补码表示数时,可用加法完成减法运算,因此带符号数一般都以补码形式在机器中存放和参加运算。补码的运算公式是:X+Y补X补+Y补X-Y补X补+Y补上述公式表明,补码的“和”等于“和”的补码。也就是说,在进行补码加法运算时,不论相加的两数是正、是负,只要把它们表示成相应的补码形式,直接按二进制规则相加,其结果都应为“和”的补码已知X的补码,求X的原码时,可以将X的补码当作X原码形式,再求次补码得到:X补补=X原。【例1-11】已知X补10111010B,求X原。X原X补补10111010补11000110B补码加减运算时,不能保证每次运算结果都是正确,也就是要注意溢出问题。所谓溢出在这里是指:两个带符号数进行运算时,其结果超出补码的表示范围128127。【例1-12】已知X补00111010B,Y补10011101B,求X+Y补。00111010 5810011101 99 11010111 41 得:X+Y补11010111B【例1-13】已知X补10011011B,Y补01101001B,求X+Y补。10011011 10101101001 105 1 00000100 4 得:X+Y补00000100B (进位发生丢失,不会影响运算结果)【例1-14】已知X补11000100B,Y补10001000B,求X+Y补。11000100 60 10001000 120 1 01001100 180 得:X+Y补1001100B (显然该结果是错误的)【例1-15】已知X补01101000B,Y补00110100B,求XY补。Y补11001100B (已知Y补,求Y补,只要将连同符号位一起“取反加一” )01101000 10411001100 -52 1 00110100 52 得:XY补00110100B溢出的判断:(1)法一:双高位判别法判别数据的最高位与次高位的进位情况,若一致,则无溢出;若不一致,则溢出。(2)法二:设有带符号数A、B,其补码A补=a0 a1 an-1, B补=b0 b1 bn-1,a0 a1 an-1 A补b0 b1 bn-1 B补c0 c1 cn-1 A+B补若a0= b0=0,而c0=1,即两个正数相加得到了负数,则发生了溢出: 若a0=b0=1,而c0=0,即两个负数相加得到了正数,则发生了溢出 ;若a0与 b0异号,相加只会变小,不会发生溢出。3BCD码BCD码是一种用二进制编码表示十进制数的编码形式。它采用四位二进制编码00001001来代表十个十进制数符号09。它们之间的对应关系如表1-5。由于四位二进制编码可以表示十六种状态:而十进制符号只有十种状态,在BCD码表示的十进制数中不允许出现1010、1011、1100、1101、1110、1111六种非法状态。例如:175D的BCD码为(0001 0111 0101)BCD。表1-5 BCD码与十进制数对应关系十进制数BCD码十进制数BCD码00000501011000160110200107011130011810004010091001(1)BCD码加法运算BCD码加法是指两个BCD十进制数按“逢十进一”的原则相加,其和也是一个用BCD码表示的十进制数。由于计算机只能进行二进制加法,它在两个相邻BCD码之间只能按“逢十六进一”原则相加,不可能进行“逢十进一”。因此,计算机在进行BCD加法时,必须对二进制加法的结果进行修正,使两个紧邻的BCD之间真正能够做到“逢十进一”。修正原则是:对应位的两个BCD码相加,若和的结果大于9(1001)或低位向高位发生了进位,则进行加6(0110)修正,这种修正可以由单片机执行内部的十进制调整指令来完成。【例1-16】 X=48,Y=69,分析BCD码的加法过程。48 01001000 (BCD)+ 69 01101001 (BCD)117 10110001 (因低4位向高4位进位,故加6修正)0110 10110111 (因高4位大于9,故加6修正)0110 1 00010111(BCD)(2)BCD码减法运算同理,BCD码减法运算时,也要进行修正,修正原则是对应位BCD码若相减后,结果大于9(1001)或低4位BCD码被减数不够减有向高位有借位时,则要进行减6修正。【例1-17】X=51,Y=28分析BCD码减法过程。51 01010001(BCD)28 00101000(BCD)23 00101001 (因低4位有借位,故减6修正)0110 00100011(BCD)需要注意的是:用BCD编码表示的数是二进制编码的十进制数,而不是二进制数。4. ASCII码在微型计算机中,机器只能识别处理二进制信息,因此,字母和各种符号也必须按照某种特定的规则用二进制代码表示。目前,世界上最普遍采用的是ASCII(American Standard Code for Information Interchange)码,全称为“美国标准信息交换码”,这种编码在数据传输中也有广泛应用。ASCII码是一种8位代码,一般用低7位代码来代表字符信息,最高位可用于奇偶校验,共有128个不同的字符。其中32个是控制字符,如NUL(代码是00H)为空白符,CR(代码为0DH)为回车。96个图形字符,如数字09的ASCII码为30H39H,字母AZ的ASCII码为41H5AH,ASCII码详见附录A。从表中可查出,“0”的ASCII码(D6D5D4D3D2D1D0)是0110000,“A”的ASCII码是1000001。在8位机中,ASCII码只用D6D0位,D7位用作奇偶校验位,以检验信息传递过程中是否有错。例如字毋“B”的ASCII码为1000010B,当采用偶校验时,因为编码中有2个“1”,(偶数个1),则D7置0,即0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肾内科肾绞痛护理规范
- 河北省重点中学2025-2026学年高二上物理期末调研模拟试题含解析
- 长沙市K郡双语实验中学2023年物理高二上期末质量跟踪监视模拟试题含解析
- 徐州工程学院《第二外语Ⅲ》2024-2025学年第一学期期末试卷
- 放射科腹部CT检查操作手册
- 检验科贫血患者实验室检测指南
- 精神病人剖宫产围手术期护理
- 提高精神科病人腕带佩戴率
- 商务谈判礼仪实训
- ICU心肌梗死急救措施
- 皮肤科护理中的温泉疗法在皮肤病管理中的应用
- 成品入库与出库管理流程培训课件
- 乡村电商与数字化农业的结合
- 2023年汽车内饰行业市场分析报告及未来发展趋势
- 信息安全测试员资格认证考试复习题库大全-上(单选题汇总)
- 人形机器人专题(一):经典五指灵巧手拆机航空航天篇
- 2023年全球结核病报告(英)
- 企业国际化的量化指标研究
- 粤教版综合实践活动三年级上册第一单元-岭南水果-第二课时-课件
- SolidWorks-全套基础培训教程
- 冰袋包装机安全操作及保养规程
评论
0/150
提交评论