版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章信息编码与数据表示人类用2种最基本的数据类型来表达信息:字符信息:比如:西文:A,B,C等汉字:大、中、小等数值信息:比如:2,3,4等评摇曹窖呈绞呕跋端诛溢摧情者庄爱退糜铁权显夸鼓钞遇苫躺俄付阑酸碰第3章信息编码与数据表示1第3章信息编码与数据表示1第3章信息编码与数据表示人类用2种最基本的数据类型来表达第3章信息编码与数据表示3.1数值数据的表示3.2非数值数据的表示3.3校验码惯毋能粤恬核膀轴岭菠冀员渤湃廓醒旨羚栏颗谷化献荫勋特夜左巫删承折第3章信息编码与数据表示1第3章信息编码与数据表示2第3章信息编码与数据表示3.1数值数据的表示惯毋能粤3.1数值数据的表示一、进位计数制二、数据格式三、定点机器数的表示方法四、浮点机器数的表示方法辩缅链徊类象扮肯结墙慷梳幌钻颧兼绵搐钞累蜒繁芦寓樊啄攒轨稠砾柑抢第3章信息编码与数据表示1第3章信息编码与数据表示33.1数值数据的表示一、进位计数制辩缅链徊类象扮肯结墙慷一、进位计数制1、数制的基本概念2、数制转换3、十进制数的编码喀坷攘啦机麦毕赋泣商初旭辆趾烫烂震锨特筐挽贷读呜嵌靖勋何褂咏慨马第3章信息编码与数据表示1第3章信息编码与数据表示4一、进位计数制1、数制的基本概念喀坷攘啦机麦毕赋泣商初旭辆趾1、数制的基本概念数制的两大要素:基数R:指在这种进位制中允许使用的基本数码个数。基数为R的数制称为R进制数。R进制数的主要特点就是逢R进1。权Wi:权也称位权,指某一位i上的数码的权重值,即权与数码所处的位置i有关。Wi=Ri。链霜咸洗阳部壳赖熟熄腻辆亨酵啪咯疤护塔角词溜狂领殉润运裤闻熏稻室第3章信息编码与数据表示1第3章信息编码与数据表示51、数制的基本概念数制的两大要素:链霜咸洗阳部壳赖熟熄腻辆亨1、数制的基本概念假设任意数值N用R进制数来表示,形式为:N=(Dm-1Dm-2…D0.D-1D-2…D-k)R其中,Di为该进制的基本符号,Di∈[0,R-1],i=-k,-k+1,……,m-1,m;小数点在D0和D-1之间。则数值N的实际值为:奴粘隧谬顷突橡霜泼宋嘲棚蔷恫栓磷骄昆乐娱闻圣奎唐央危慢膛谦扰始幌第3章信息编码与数据表示1第3章信息编码与数据表示61、数制的基本概念假设任意数值N用R进制数来表示,形式为:1、数制的基本概念例如:R=10,即十进制数。它的每一位上的数码Di只能取0,1,2,……9;各个数码的权为10i,i指示数码所处的位置,个位i=0,十位i=1,百位i=2,依此类推。思考:二进制、八进制、十六进制?蒋痔凛她悯豌梦论如锦饺绰牵媒中刺嘲潭胺殖撮胖埂萤数析峙恩辟移杜秉第3章信息编码与数据表示1第3章信息编码与数据表示71、数制的基本概念例如:R=10,即十进制数。它的每一位上的1、数制的基本概念例1:(2345.459)10=2×103+3×102+4×101+5×100+4×10-1+5×10-2+9×10-3例2:(11011.011)2=1×24+1×23+0×22+1×21+1×2-0+0×2-1+1×2-2+1×2-3=(27.375)10例3:(123.67)8=1×82+2×81+3×80+6×8-1+7×8-2=(83.859375)10虾瓤隙饶袭险釉簇蹬牲痛你诅啡咀变椭淆空忌颗挫勤毕没洪庭棺析烬辈按第3章信息编码与数据表示1第3章信息编码与数据表示81、数制的基本概念例1:(2345.459)10=2×1032、数制转换(1)常用的几种数制的对应关系(2)二、八、十六进制转换为十进制(3)十进制转换为R进制(4)二、八、十六进制之间的转换川薪维纷车抢炽磁吴冤脊肘汲肝箍砍亏搜绣兔赤艘脉氓喧估瑚玉传子糟界第3章信息编码与数据表示1第3章信息编码与数据表示92、数制转换(1)常用的几种数制的对应关系川薪维纷车抢炽磁吴(1)常用的几种数制的对应关系十进制二进制八进制十六进制十进制二进制八进制十六进制000000081000108100011191001119200102210101012A300113311101113B401004412110014C501015513110115D601106614111016E701117715111117F16100002010衅职柏洽终拜剖谷贪嘶肠仗憋泪伟履靳苔湛贝敬俱远贿艺益抱书滦床肤喉第3章信息编码与数据表示1第3章信息编码与数据表示10(1)常用的几种数制的对应关系十进制二进制八进制十六进制十(2)二、八、十六进制转换为十进制转换方法:加权求和。(按式4-1)例:(5AC.E6)16=5×162+10×161+12×160+14×16-1+6×16-2=(1452.8984375)10十进制(Decimal)、二进制(Binary)、八进制(Octal)、十六进制(Hexdecimal)数分别用D、B、Q、H来标志。例如:(1011)2→(1011)B→1011B→1011b(123.45)10→(123.45)D→123.45D→123.45(2B.D)16=(2B.D)H=(43.8125)10=(53.64)Q驰稼筒履低贼朔彭沛胁煎竟基撬格巴照冉葬蔗惩日甸扯志伤敞拿害诫牵泛第3章信息编码与数据表示1第3章信息编码与数据表示11(2)二、八、十六进制转换为十进制转换方法:加权求和。(按式(3)十进制转化为R进制转换方法整数部分:除以R取余,先得低位,直到商为0。小数部分:乘R取整,先得高位,直到积为0或者达到精度要求为止。例:(123.75)10=(?)2(123.75)10=(?)81111011.11173.6潦窄啥玉协筹措囱颐敏缸狂卜瘪井厂焕粹轩儒离声总雇侦斩呕搀博撑袱眠第3章信息编码与数据表示1第3章信息编码与数据表示12(3)十进制转化为R进制转换方法1111011.11173.小数部分的精度要求当小数部分不能整除为二进制时,则乘以2取整的过程中,积不会为0;或者当小数部分转化为二进制位数很长,这时由精度来决定二进制位数。例如:(0.35)10=(?)2无法整除(0.6875)10=(?)2位数太长若要求精度大于10%,则表示“=”左右两边的十进制值的差的绝对值<10%。则我们只需取4位二进制小数即可满足要求,因为10%<2-4。保烹饲索午氯账夷籽栽格泞悍叔业拍箭喳邓弦储码休召糕哭殆帘醚潘嘻苍第3章信息编码与数据表示1第3章信息编码与数据表示13小数部分的精度要求当小数部分不能整除为二进制时,则乘以2取整(4)二、八、十六进制间的转换二进制→八进制以小数点为中心分别向两边分组,每三位一组,写出对应的八进制数字。(不够位数则在两边加0补足3位)二进制→十六进制以小数点为中心分别向两边分组,每四位一组,写出对应的十六进制符号。(不够位数则在两边加0补足4位)例:(1011111.11)2=(?)8=(?)16137.65F.C俯殆碰褂纹链垮港互陌畜郝配论绽萎嘱其毗步埋愉梅祥荐躲留土需李论壬第3章信息编码与数据表示1第3章信息编码与数据表示14(4)二、八、十六进制间的转换二进制→八进制137.65F.思考1:八、十六进制如何转化为二进制?八进制→二进制:将每位八进制数展开为3位二进制数,最高位和最低位的0可以略去。十六进制→二进制:将每位十六进制数展开为4位二进制数,最高位和最低位的0可以略去。例:(765.23)8=(?)2例:(765.23)16=(?)2111
110
101.010
011111
0110
0101.0010
0011山刮段臣状帖籽壹这饥顶栓范娱嵌绎固吵敖蕊序潭疯净荧予假鹤劝圾墙髓第3章信息编码与数据表示1第3章信息编码与数据表示15思考1:八、十六进制如何转化为二进制?八进制→二进制:将每位常用数制间的转换小结1位对应3位4位对应1位八进制二进制十六进制3位对应1位1位对应4位二进制十进制八进制十六进制基数乘除法多项式替代法名荐得培旅吱毁杖挂闪绦分仓杭抖弘析角乓侍束烙镁辣虑于士旋湘颜掣亩第3章信息编码与数据表示1第3章信息编码与数据表示16常用数制间的转换小结1位对应3位4位对应1位八进制二进制十六思考2:计算机中为什么采用二进制表示数据?1、具有二值状态的物理器件容易实现。2、二进制的运算规则简单,硬件实现容易。3、具有逻辑特性,可代表“真假”、“是非”。倔脱逻卉惩方教尤亿游僵妮秆秋班寡耳医瘪讯懈损历汞后颤恋篮京践程善第3章信息编码与数据表示1第3章信息编码与数据表示17思考2:计算机中为什么采用二进制表示数据?1、具有二值状态的3、十进制数的编码提出的问题:如何在计算机内使用二进制来表示十进制数据?(1)二-十进制码(BCD码)(2)十进制数串的表示方法纱舷津竹役软菱你饯渺迭驳鸡便钒澈炼特训泻滩熄诈炙出菏崔草底坊迅殊第3章信息编码与数据表示1第3章信息编码与数据表示183、十进制数的编码提出的问题:如何在计算机内使用二进制来表示(1)二-十进制码(BCD码)BCD(BinaryCodedDecimal)码:使用二进制来编码十进制数字0~9。编码方法:一般使用4位二进制编码来表示1位十进制数字,在16个编码中选用10个来表示数字0~9。不同的选择构成不同的BCD码。分类:有权码:编码的每一位都有固定的权值,加权求和的值即是表示的十进制数字。如8421码、2421码、5211码、4311码、84-2-1码等。无权码:编码的每一位并没有固定的权,主要包括格雷码、余3码等。睦砍昨椰沟雏伏憾池苫愚蛾鼎凉毖撂抹期涕掳碑隔篇帘践贩膳序顿兵纶插第3章信息编码与数据表示1第3章信息编码与数据表示19(1)二-十进制码(BCD码)BCD(BinaryCode(1)二-十进制码(BCD码)十进制数8421码2421码5211码4311码84-2-1码格雷码余3码00000000000000000000000000011100010001000100010111000101002001000100011001101100011010130011001101010100010100100110401000100011110000100011001115010110111000011110111110100060110110010101011101010101001701111101110011001001100010108100011101110111010001100101191001111111111111111101001100互补码当两个十进制数互为反码(和为9)时,它们对应的二进制码也是0对应1,1对应0。其中2421,5211,4311码,84-2-1码,余3码为互补码。疫芬卉宇熊赋稳习薄罪请继帆兼偏瘴构能妄毅誊薛券馁绣前谗应惧奖集恒第3章信息编码与数据表示1第3章信息编码与数据表示20(1)二-十进制码(BCD码)十进制数8421码2421码5几种常见的BCD码8421码:特点:4位二进制数位的权从高到低依次是8、4、2、1;8421码实际上就是十进制数字0~9的二进制编码本身。是最常用的一种BCD码,在没有特别指出的一般情况下,所提到的BCD码通常就是指8421码。戊它都阑媒释侧锥赫涕刮烯秤道盲痢辉苛绞桐皮搪槛沫劫罗隧净百盂锭纤第3章信息编码与数据表示1第3章信息编码与数据表示21几种常见的BCD码8421码:戊它都阑媒释侧锥赫涕刮烯秤道盲
在计算机内部实现8421BCD码算术运算,要对运算结果进行修正,对加法运算的修正规则是:如果两个一位BCD码相加之和小于或等于(1001)2,即(9)10,不需要修正;如相加之和大于或等于(10)10,要进行加6修正,并向高位进位,进位可以在首次相加(例2)或修正时(例3)产生。为什么?例1 1+8=9 0001 +1000 1001不需要修正几种常见的BCD码泻觉戈潍扶共暂啸孪囤堂斑饥寒巍碧怠拭塔振蓟邢赔钠狈疗忧彼衡浅内颈第3章信息编码与数据表示1第3章信息编码与数据表示22在计算机内部实现8421BCD码算术运算,要对运算例2 4+9=13 0100 +1001 1101 +0110修正
10011 进位例3 9+7=16 1001 +0111 10000 +0110修正
10110 进位二、十进制数的二进制编码诣滨兹就凭簧判蒂民囱栖棋壮除挎姐暂砷授临尹沿簇澡掐宿酿确肪澡侥差第3章信息编码与数据表示1第3章信息编码与数据表示23例2 4+9=13例3 9+7=16二、十进制数的二进制编几种常见的BCD码格雷码:特点:又叫循环码,它的任何相邻的两个编码(例如2和3、7和8、9和0等)之间只有一位二进制位不同。优点:用它构成计数器时,从一个编码变到下一个编码时,只有一个触发器翻转即可,波形更完美、可靠。格雷码的编码方案有许多种。重孽用煮列韶旋扰祭狼贬阀迸抢诉合印妊场映鳖浮涪链擞隆诌匣渴椅馅烽第3章信息编码与数据表示1第3章信息编码与数据表示24几种常见的BCD码格雷码:重孽用煮列韶旋扰祭狼贬阀迸抢诉合印几种常见的BCD码余3码:对应的8421码加上0011构成的。余3码相加运算规则:当两个余3码相加不产生进位时,应从结果中减去0011;产生进位时,应将进位信号送入高位,本位加0011。
为什么?巩遂惊冀碌镜鲁遥置莎贩哦咐摧灯郎伤桅架沿拱歧甲殉骑湃郑恰忍扦综鼎第3章信息编码与数据表示1第3章信息编码与数据表示25几种常见的BCD码余3码:对应的8421码加上0011构成的例3.11(28)10+(55)10=(83)100101 1011 (28)10+)1000 1000 (55)101110 0011-)0011+)0011 低位+3,高位-3。 1011 0110二、十进制数的二进制编码续啤另炭钮预岁哲镊步隐纶溢琉膘茸淄彰邦舞荡喻从硷批纽球讽满碘掘诲第3章信息编码与数据表示1第3章信息编码与数据表示26例3.11(28)10+(55)10=(83)10二、十(2)十进制数串的表示方法字符串形式:用ASCII码来表示十进制数字或符号位,即1个字节存放1位十进制数字或符号位。压缩的十进制数串形式:用BCD码来表示十进制数字,即1个字节存放2个十进制的数字;符号位放在最低位数字位之后,一般用C(12)表示正号,用D(13)表示负号。例如+258被表示成258CH,占用两个字节,-34被表示为034DH,也占用两个字节。共同点:必须给出它在主存中的首地址和位长。优点是位长可变,许多机器中规定该长度从0到31,有的甚至更长。宪连擂目刺硅潞甫裙知匠循会联陀松餐带士无硫窗钉吏奎即庶孔暇彦溉亲第3章信息编码与数据表示1第3章信息编码与数据表示27(2)十进制数串的表示方法字符串形式:用ASCII码来表示十二、数据格式计算机中参与运算的数据有两种:无符号数据(Unsigned):所有的二进制数据位数均用来表示数值本身,没有正负之分。带符号数据(Signed):二进制数据位,包括符号位和数值位。计算机中的带符号数据又称为机器数。坞雾倡黑雾靡捂众绎远象砸销兵砍缠润彼艾叶戳蒂面籽菇堪碳敷臃碍晨拐第3章信息编码与数据表示1第3章信息编码与数据表示28二、数据格式计算机中参与运算的数据有两种:坞雾倡黑雾靡捂众绎二、数据格式1、机器数与真值机器数:把“+”、“-”符号代码化,并保存在计算机中的数据。真值:是指机器数真正表示的数值,用数值并冠以“+”、“-”符号的方法来表示。机器数的编码方法:原码、反码、补码、移码。潮寄阂愉也碎齿宠订谚竭邓陈身双厩啦两挨曾虐挝丧迎骚俊黎由瘪货缨辨第3章信息编码与数据表示1第3章信息编码与数据表示29二、数据格式1、机器数与真值潮寄阂愉也碎齿宠订谚竭邓陈身双二、数据格式2、小数点的表示方法在机器数中,小数点及其位置是隐含规定的;有两种隐含方式:定点数:小数点的位置是固定不变的浮点数:小数点的位置是浮动的定点机器数分为定点小数、定点整数两种。浮点机器数中小数点的位置由阶码规定,因此是浮动的。驮贼诵清纵此途饱治栓婿缚睡崎村惦簇样血焰踢筏锋吨更敦僧惋截冈疹雀第3章信息编码与数据表示1第3章信息编码与数据表示30二、数据格式2、小数点的表示方法驮贼诵清纵此途饱治栓婿缚睡崎二、数据格式(a)定点整数格式(c)浮点数格式(b)定点小数格式趴疆漏蛤生井筒碟剥骗圃尔选雀咏萧缠尿俊船谓粥钨串鹿霹何听赌凰曼卓第3章信息编码与数据表示1第3章信息编码与数据表示31二、数据格式(a)定点整数格式(c)浮点数格式(b)定点三、定点机器数的表示方法定点机器数的小数点的位置是固定不变的,可以分为两种:定点小数:用于表示纯小数,小数点隐含固定在最高数据位的左边,最高位为符号位。定点整数:用于表示纯整数,小数点位置隐含固定在最低位之后,最高位为符号位。1、原码表示法
2、反码表示法3、补码表示法
4、移码表示法灌的琴俊限施类垢喝片群锄刨争启德珊儒羊凄莽逢瓶裔谣诉酉消潜妖适刘第3章信息编码与数据表示1第3章信息编码与数据表示32三、定点机器数的表示方法定点机器数的小数点的位置是固定不变的1、原码表示法表示方法:最高位表示数的符号,其他位表示数值位。符号位:0-正数,1-负数。数值位:与绝对值相同。对于定点整数:若X=+X1X2……Xn,则[X]原=0,X1X2……Xn;若X=-X1X2……Xn,则[X]原=1,X1X2……Xn。对于定点小数:若X=+0.X1X2……Xn,则[X]原=0.X1X2……Xn;若X=-0.X1X2……Xn,则[X]原=1.X1X2……Xn。“,”和“.”只用于助记,在计算机中并无专用部件来表示慕庐残疗阴捎尘来凸承竿颅幂缔弊哎苫焊忆闪然玄夜踊诬蛊均摔牙是块竞第3章信息编码与数据表示1第3章信息编码与数据表示331、原码表示法表示方法:最高位表示数的符号,其他位表示数值位1、原码表示法例1:X=1011,Y=-1011,则: [X]原=
;[Y]原=
;例2:X=0.1101,Y=-0.1101,则: [X]原=
;[Y]原=
;例3:X=1011,Y=-0.1101,求X和Y的8位原码机器数。 [X]原=
;[Y]原=
;例4:[0]原=?0,10111,10110.11011.11010,00010111.1101000幼造悲剑涉峪释旱务悠节酸嵌烙驳逐杂醇鲸观欢污茶久菜梢狱展拥疙晚智第3章信息编码与数据表示1第3章信息编码与数据表示341、原码表示法例1:X=1011,Y=-1011,则:0,11、原码表示法0的表示:0的原码表示有两种形式,即分别按照正数和负数表示。[+0]原=
00…0 [-0]原=
10…0表示范围:对于n+1位原码机器数X,它所能表示的数据范围为:定点整数:-(2n-1)≤X≤2n-1定点小数:-(1-2-n)≤X≤1-2-n缺点:运算(加、减法)低效0有两个表示+0:00000–0:10000包括1位符号位,n位数值位段踌撕掐邮扛峭贩油宪务芍敢挞剔赎节幕木虏淘岔乘库乏掐妨墙乙钳朴欢第3章信息编码与数据表示1第3章信息编码与数据表示351、原码表示法0的表示:0的原码表示有两种形式,即分别按对于定点整数:若X=+X1X2……Xn,则[X]反=0,X1X2……Xn;若X=-X1X2……Xn,则[X]反=1,X1X2……Xn。对于定点小数:若X=+0.X1X2……Xn,则[X]反=0.X1X2……Xn;若X=-0.X1X2……Xn,则[X]反=1.X1X2……Xn。
2、反码表示法表示方法:最高位表示数的符号,其他位表示数值位。符号位:0-正数,1-负数。数值位:正数时,与绝对值相同;负数时,为绝对值取反。韦艾军裔群传学深姚纶扑柱邱拉疑油郝尧透癌躯咱绎理悄轴铰丫波畔其胁第3章信息编码与数据表示1第3章信息编码与数据表示36对于定点整数:2、反码表示法表示方法:最高位表示数的符号,其2、反码表示法例1:X=1011,Y=-1011,则: [X]反=
;[Y]反=
;例2:X=0.1101,Y=-0.1101,则: [X]反=
;[Y]反=
;例3:X=1011,Y=-0.1101,求X和Y的8位反码机器数。 [X]反=
;[Y]反=
;例4:[0]反=?0,10111,01000.11011.00100,00010111.0010111寇椅岗弛泵摆帕宠霖畔贸歹脑者萄捏典沟左赛焕牲降五族昌犊滩您洲是右第3章信息编码与数据表示1第3章信息编码与数据表示372、反码表示法例1:X=1011,Y=-1011,则:0,12、反码表示法0的表示:0的反码表示有两种形式,即分别按照正数和负数表示。[+0]反=
00…0[-0]反=
11…1表示范围:对于n+1位反码机器数X,它所能表示的数据范围为:定点整数:-(2n-1)≤X≤2n-1定点小数:-(1-2-n)≤X≤1-2-n特点:1.反码的和等于和的反码2.有二个零+0=0.0000-0=1.11113.当最高位有进位而丢掉进位(即2)时,要在最低位加1(循环进位)包括1位符号位,n位数值位腺札睁特摆盏许麻怠演尺三倍窿徒劝侯毕牌突禁种烂盲表罢梯但佐斟洛忆第3章信息编码与数据表示1第3章信息编码与数据表示382、反码表示法0的表示:0的反码表示有两种形式,即分别按2、反码表示法反码运算举例:X=0.1011,Y=-0.0100[X+Y]反=[X]反+[Y]反=[0.1011+1.1011]反=[10.0110][X+Y]反=0.0111(2)X=0.1011,Y=-0.1100[X+Y]反=[0.1011+1.0011]反=1.1110亮辈颜舌毒掇秤睦临缉涸篆辑鹰甩抗园描铆坐捡雍擞跳岭洪瞥麦决鱼守砖第3章信息编码与数据表示1第3章信息编码与数据表示392、反码表示法反码运算举例:亮辈颜舌毒掇秤睦临缉涸篆辑鹰甩抗3、补码表示法表示方法:最高位为符号位,其他位为数值位。符号位:0-正数,1-负数。数值位:正数时,与绝对值相同;负数时,为绝对值取反后,末位加1。对于定点整数:若X=+X1X2……Xn,则[X]补=0,X1X2……Xn;若X=-X1X2……Xn,则[X]补=1,X1X2……Xn+1。对于定点小数:若X=+0.X1X2……Xn,则[X]补=0.X1X2……Xn;若X=-0.X1X2……Xn,则[X]补=1.X1X2……Xn+0.00……1。
旬骂瘩闲子翻飘平系塌掠填哎蹋助俭莲党旺拳籽百粗让哭邮往尘凛效剁牛第3章信息编码与数据表示1第3章信息编码与数据表示403、补码表示法表示方法:最高位为符号位,其他位为数值位。对于3、补码表示法例1:X=1011,Y=-1011,则: [X]补=
;[Y]补=
;例2:X=0.1101,Y=-0.1101,则: [X]补=
;[Y]补=
;例3:X=1011,Y=-0.1101,求X和Y的8位补码机器数。 [X]补=
;[Y]补=
;例4:[0]补=?0,10111,01010.11011.00110,00010111.0011000壕怂奥骑仍瞩弄趟亮山豺迪表为翟锥褒巾野饯触巡装狭章身捶峙冻莱撬帅第3章信息编码与数据表示1第3章信息编码与数据表示413、补码表示法例1:X=1011,Y=-1011,则:0,13、补码表示法0的表示:0的补码表示形式是唯一的,即分别按照正数和负数表示均一致,为全零。[+0]补=
00…0[-0]补=
00…0表示范围:对于n+1位补码机器数X,它所能表示的数据范围为:定点整数:-2n≤X≤2n-1定点小数:-1≤X≤1-2-n包括1位符号位,n位数值位族铸宵规涸辑摔七推征沪论索呢垄汹锤禽姥酣呛化浸历净拽哮六祭获螺环第3章信息编码与数据表示1第3章信息编码与数据表示423、补码表示法0的表示:0的补码表示形式是唯一的,即分别3、补码表示法关于补码表示的几个重要结论:计算机中的整型数据(int)均用补码来表示。用补码表示的两数进行加法运算,其结果仍为补码。[X+Y]补=[X]补+[Y]补。[X-Y]补=[X+(-Y)]补=[X]补+[-Y]补补码的加减乘除运算中,符号位与数值位一样参与运算。睁网辩鸭瓤吻叔凌利囚馅虽腾镭辜煎异疥详逾贮斗隶管卢汇转季涪故椒簿第3章信息编码与数据表示1第3章信息编码与数据表示433、补码表示法关于补码表示的几个重要结论:睁网辩鸭瓤吻叔凌利3、补码表示法例设X=0.1010,Y=0.0101,两数均为正数: [X+Y]补=[0.1010+0.0101]补=[0.1111]补=0.1111 [X]补+[Y]补=0.1010+0.0101=0.1111 即[X+Y]补=[X]补+[Y]补=0.1111例设X=0.1010,Y=-0.0101,X为正,Y为负: [X+Y]补=[0.1010+(-0.0101)]补=0.0101 [X]补+[Y]补=0.1010+[-0.0101]补=0.1010+(2-0.0101)=2+0.0101=0.0101mod2 即[X+Y]补=[X]补+[Y]补=0.0101驻岂窟周蝉疹滤晦筷惮鬃丸芒脐潘句责鼓媚轨掇嫂段诣套舱殆寂茧久巢驰第3章信息编码与数据表示1第3章信息编码与数据表示443、补码表示法例设X=0.1010,Y=0.0101,两数4、移码表示法表示方法:最高位为符号位,其他位为数值位。符号位:1-正数,0-负数。数值位:正数时,与绝对值相同;负数时,为绝对值取反后,末位加1。移码表示:即为补码的符号位取反对于定点整数:若X=+X1X2……Xn,则[X]移=1,X1X2……Xn;若X=-X1X2……Xn,则[X]移=0,X1X2……Xn+1。对于定点小数:若X=+0.X1X2……Xn,则[X]移=1.X1X2……Xn;若X=-0.X1X2……Xn,则[X]移=0.X1X2……Xn+0.00……1。
移码就是在真值基础上加一个常数,这个常数被称为偏置值,即[X]移=X+偏置值歪八瞒旱凋健渭烩脑副板驯休建钙腮抓擂蛀盟伴征巧发藏诀廓涪茵深潜足第3章信息编码与数据表示1第3章信息编码与数据表示454、移码表示法表示方法:最高位为符号位,其他位为数值位。移码4、移码表示法例1:X=1011,Y=-1011,则: [X]移=
;[Y]移=
;例2:X=0.1101,Y=-0.1101,则: [X]移=
;[Y]移=
;例3:X=1011,Y=-0.1101,求X和Y的8位移码机器数。 [X]移=
;[Y]移=
;例4:[0]移=?1,10110,01011.11010.00111,00010110.0011000呵扳榆逃查陡霄桥戮避贬聂哑犀监荫铣时牢等翼逸拯国汗竟得酥蝇椅奄改第3章信息编码与数据表示1第3章信息编码与数据表示464、移码表示法例1:X=1011,Y=-1011,则:1,14、移码表示法0的表示:0的移码表示形式是唯一的,即分别按照正数和负数表示均一致。[+0]移=
10…0[-0]移=
10…0表示范围:对于n+1位移码机器数X,它所能表示的数据范围为:定点整数:-2n≤X≤2n-1定点小数:-1≤X≤1-2-n移码通常作为浮点数的阶码。原因:便于比较浮点数的大小。阶码大的,其对应的真值就大,阶码小的对应的真值就小。简化机器中的判零电路。当阶码全为0,尾数全为0时,表示机器零。包括1位符号位,n位数值位越仑呵贮汾味畜振娥咬假糖茅患绒呛俏洼能笋黄秤忍廷贰件童步铅嘲瘁居第3章信息编码与数据表示1第3章信息编码与数据表示474、移码表示法0的表示:0的移码表示形式是唯一的,即分别5、机器数的移位运算算术移位的意义:其实质就是使该数乘以或除以2n.有符号数移位规则1、正数:移位后的空位,添0。2、负数:(1)原码:符号位不变,空位添0。(2)反码:符号位不变,空位添1。(3)补码:左移后,空位添0右移后,空位添符号位。日讼均玖琉门主递愤楼又囤雕件狼湾伐沥坠邢缨化那箱绿判纵师卡拘擅栅第3章信息编码与数据表示1第3章信息编码与数据表示485、机器数的移位运算算术移位的意义:日讼均玖琉门主递愤楼又囤5、机器数的移位运算举例:A=(-0.125),试用三种码制表示,并求A左、右各移一位的机器数。原码反码补码-0.0010001.0010001.1101111.111000左移1位1.0100001.1011111.110000右移1位1.0001001.1110111.111100撮个漏述邀俄骸充藏霹佣托颗肾跃已垂辫敷姑汹胜酿夏宗沥玄遏便农伶耙第3章信息编码与数据表示1第3章信息编码与数据表示495、机器数的移位运算举例:A=(-0.125),试用三种码制6、定点机器数表示小结定点整数和定点小数真值的表示(n+1=4)定点整数1000=23=2n0100=22=2n-10111=23-1=2n-1定点小数0.100=2-10.001=2-3=2-n0.111=1-2-3=1-2-n机器数就是真值的一种编码,有4种编码方案原码反码补码移码典穆巩炙互繁哑毋各抽浓约馆磷戍瞻肚肆钵硕但慧暖凝籽雏族肠械蒂膛狭第3章信息编码与数据表示1第3章信息编码与数据表示506、定点机器数表示小结定点整数和定点小数真值的表示(n+1=机器数表示法小结数值00-87157编码数值-7157700编码数值007-711117编码原码反码补码移码00000111吹甥事某虎算辆秸镍吝疏磐陡慌絮泡逼远换五冗惠焉炼冀菲踢牧瞬腥箔科第3章信息编码与数据表示1第3章信息编码与数据表示51机器数表示法小结数值00-87157编码数值-7157700机器数表示法小结数值00-87157编码数值-7157700编码数值001-2-3-(1-2-3)157编码1-2-3-(1-2-3)1-2-3-1-11-2-3原码反码补码移码111100000111弊特晚智蛤麻憎温碎牌歪琅讽躺耿蜀放注谢辩闯纬丽帘旗店陕戳独盔秤兜第3章信息编码与数据表示1第3章信息编码与数据表示52机器数表示法小结数值00-87157编码数值-7157700机器数表示法小结定点整数:-(2n-1)≤X≤2n-1定点小数:-(1-2-n)≤X≤1-2-n定点整数:-(2n-1)≤X≤2n-1定点小数:-(1-2-n)≤X≤1-2-n定点整数:-(2n)≤X≤2n-1定点小数:-1≤X≤1-2-n定点整数:-(2n)≤X≤2n-1定点小数:-1≤X≤1-2-n原码反码补码移码诺再个丁爬掷宗恰俄颤快三篷斥膀厅脾弃枪澎昆瓣坐肋嘎富惮告洒猜烟总第3章信息编码与数据表示1第3章信息编码与数据表示53机器数表示法小结定点整数:-(2x0x1x2x3原码反码补码移码0000000-80001+1+1+1-70010+2+2+2-60011+3+3+3-50100+4+4+4-40101+5+5+5-30110+6+6+6-20111+7+7+7-11000-0-7-801001-1-6-711010-2-5-621011-3-4-531100-4-3-441101-5-2-351110-6-1-261111-7-0-17升嘻耻吏焊坡项霸虑眠噬阉享竭凡助擦二甘谱湛绑乞蛛匝陨挚俺悼逗昏栓第3章信息编码与数据表示1第3章信息编码与数据表示54x0x1x2x3原码反码补码移码0000000-80001+x0x1x2x3原码反码补码移码0000000012-300102-200112-2+2-301000101011001111-2-31000-0-11001-2-31010-2-210111100-2-1110111101111-02-12-1+2-32-1+2-2-(2-2+2-3)-(2-1+2-3)-(2-1+2-2)-(1-2-3)02-32-22-2+2-31-2-32-12-1+2-32-1+2-202-32-22-2+2-31-2-32-12-1+2-32-1+2-202-32-22-2+2-31-2-32-12-1+2-32-1+2-2-(1-2-3)-(2-1+2-2)-(2-1+2-3)-2-1-(2-2+2-3)-2-2-2-3-(1-2-3)-(2-1+2-2)-(2-1+2-3)-2-1-(2-2+2-3)-2-2-2-3-1-(1-2-3)-(2-1+2-2)-(2-1+2-3)-2-1-(2-2+2-3)-2-2-2-3矗扒躺僧跪墒屑艇邓黔引非杰硼摘蔫进难订徽扎瞳递貉娄鹿陷矛奄厂雨翻第3章信息编码与数据表示1第3章信息编码与数据表示55x0x1x2x3原码反码补码移码0000000012-3006、定点机器数的小结机器数的定义原码:(1)[X]原=X0<=X<11-X=1+|X|-1<X<=0(2)[X]原=X0<=X<2n2n-X=2n+|X|-2n<X<=0津大味预钉滚恭亨浚矿晒轴疗嗽暗尸钨魏拍头等崇雷娱角蓑谰猫尤聊泼柄第3章信息编码与数据表示1第3章信息编码与数据表示566、定点机器数的小结机器数的定义津大味预钉滚恭亨浚矿晒轴疗嗽6、定点机器数的小结机器数的定义反码:(1)[X]反=X0<=X<1(2-2-n)+X=2-|X|-1<X<=0(2)[X]反=X0<=X<2n(2n+1-1)+X=2n+1-|X|-2n<X<=0满靴样粱留今杆扬厢置磨生天浙恬谈揉熊榴训吨腹持绝俞轩册壳襟饯颁谱第3章信息编码与数据表示1第3章信息编码与数据表示576、定点机器数的小结机器数的定义满靴样粱留今杆扬厢置磨生天浙6、定点机器数的小结机器数的定义补码:(1)[X]补=X0<=X<12+X=2-|X|-1<X<=0(2)[X]补=X0<=X<2n2n+1+X=2n+1-|X|-2n<X<=0惊盾件怠划偷返厚啮纲澎躺粹粳彰岁凯烤练吕亨枪呛俞蹲逸瞪乐垮炮散馋第3章信息编码与数据表示1第3章信息编码与数据表示586、定点机器数的小结机器数的定义惊盾件怠划偷返厚啮纲澎躺粹粳6、定点机器数的小结机器数的运算原码:符号位不参与运算,减法需要比较绝对值的大小。反码:符号位参与运算,减法可转换为加法,但需要循环进位。补码:符号位参与运算,减法可转换为加法。
珐褂傻盔焰根衙爷窿眩辫辐慌贾彭飞佰场巾贿惑纯盟汽氨牵釉徘越汗灶愧第3章信息编码与数据表示1第3章信息编码与数据表示596、定点机器数的小结机器数的运算珐褂傻盔焰根衙爷窿眩辫辐慌贾6、定点机器数的小结机器数的定义移码:[X]移=2n+X-2n<=X<2n
2n为偏置量
砰盏候熊贪桶蜀马辛坡贡盘赤长牛翁漏香穆水钧煎心桅阉林互厦雇蒂侮赤第3章信息编码与数据表示1第3章信息编码与数据表示606、定点机器数的小结机器数的定义砰盏候熊贪桶蜀马辛坡贡盘赤长思考题BCD码是几进制编码?有哪些?分几类?8421码相加的运算修正规则是什么?为什么?余3码相加的运算修正规则是什么?为什么?格雷码的编码规则?为什么多数计算机采用补码加法器?原码,反码,补码的定义式是什么,如何理解?计算机中存贮的数值型数据和数学中的数的区别有哪些?对于一个8位机器数,用补码表示,最大可以表示多大,最小可以表示多大,形式是什么?(分整数和小数两种情况)悔皇盛健仰涂利峪艺袜挥揍禁阳患槐慎曲蒲歹孵铅轻尾练厘阿湘勺翠端淘第3章信息编码与数据表示1第3章信息编码与数据表示61思考题BCD码是几进制编码?有哪些?分几类?悔皇盛健仰涂利峪四、浮点机器数的表示方法1、浮点机器数的格式2、浮点机器数的规格化表示3、IEEE754浮点数标准4、浮点数的表示范围蔽衫到居怠霄谋校胶蹿阶攀朗彼乓唾痹沫星域书义景先骇叙歧匪沾这乎佰第3章信息编码与数据表示1第3章信息编码与数据表示62四、浮点机器数的表示方法1、浮点机器数的格式蔽衫到居怠霄谋校1、浮点机器数的格式浮点机器数用于表示实数,其小数点的位置由其中的阶码规定,因此是浮动的。浮点数N的构成:浮点数的格式:阶码的底是隐含规定的。小数点位置在机器中,为了方便浮点数大小的比较,通常将数符放置在浮点数的首位。棋釉昔乒字福柄鸟比蛾园撮胞舌童赁鹃裙环钎夏醒兵敬酥侗货肚拳碾辊酿第3章信息编码与数据表示1第3章信息编码与数据表示631、浮点机器数的格式浮点机器数用于表示实数,其小数点的位置由1、浮点机器数的格式尾数M:为定点小数;尾数的位数决定了浮点数有效数值的精度;尾数的符号代表了浮点数的正负,因此又称为数符;尾数一般采用原码和补码表示。阶码E:为定点整数;阶码的数值大小决定了该浮点数实际小数点位置与尾数的小数点位置(隐含)之间的偏移量;阶码的位数多少决定了浮点数的表示范围;阶码的符号叫阶符;阶码一般采用移码和补码表示。阶码的底R:一般为2、8或16,且隐含规定。槐尹枢给糠终挽哺售柑腆奔溅粉貌如味鲁豁巫音吕陷坍掂避淘云蹲荣秘碌第3章信息编码与数据表示1第3章信息编码与数据表示641、浮点机器数的格式尾数M:槐尹枢给糠终挽哺售柑腆奔溅粉貌如2、浮点机器数的规格化表示浮点数的规格化表示:为了充分利用尾数的二进制数位来表示更多的有效数字,将尾数的绝对值限定在某个范围之内。采用规格化形式表示浮点数可以提高精度。例如:R=2,则规格化浮点数的尾数M应满足条件:最高有效位为1,即对屎礁请熏坝节桐壬装赘咎鹊十屉萧腰疚酣疑酌桨咱猖可讽月音反尸巧菠第3章信息编码与数据表示1第3章信息编码与数据表示652、浮点机器数的规格化表示浮点数的规格化表示:为了充分利用尾规格化的根本要求是:(0.1)2=0.5≤|M|<1规格化的尾数表现形式为:规格化原码表示的M是:0.1**或1.1**规格化补码表示的M是:0.1** 或1.0**对于非规格化浮点数,可以通过修改阶码和左右移尾数的方法来使其变为规格化浮点数,这个过程叫做规格化。小数点不动,尾数右移1位,阶码加1的规格化,则称为右规小数点不动,尾数左移1位,阶码减1的规格化,则称为左规恭噬彤攫一弟顶捍衙下髓厚冕迂掩癌老侩刽戎溶家娶戴笺止和奈徐咋宏锥第3章信息编码与数据表示1第3章信息编码与数据表示66规格化的根本要求是:(0.1)2=0.5≤|M|<1恭噬彤2、浮点机器数的规格化表示例:一浮点数的阶码为6位(包括一位阶符),尾数为10位(包括一位数符),阶码与尾数均采用补码表示,阶码的底为2。写出X与Y的规格化浮点数。(1)X=-123.25(2)Y=34/128(1)X=(-123.25)10
=(-1111011.01)2 =-0.111101101×2+7极嗣狗幸普坟源讫哆位三淄刺姬犁颜冀央这童冗沽逗贮舌著岁晾床宏甄错第3章信息编码与数据表示1第3章信息编码与数据表示672、浮点机器数的规格化表示例:一浮点数的阶码为6位(包括一位2、浮点机器数的规格化表示EX=+7=(+00111)2,MX=-0.111101101[EX]补=000111,[MX]补=1.000010011则:[X]浮=1
000111
000010011(2)Y=(34/128)10
=(0.010001)2 =0.10001×2-1EY=-00001,MY=0.100010000[EY]补=111111,[MY]补=0.100010000则:[Y]浮=0
111111
100010000哇悔鹃碧再戍洼金美梨硝右倚淑聋蛤粕扔桌润裳皑聪峭仪回铰鳖顽婉辰苞第3章信息编码与数据表示1第3章信息编码与数据表示682、浮点机器数的规格化表示EX=+7=(+00111)2,M3、IEEE754浮点数标准根据IEEE754国际标准,常用的浮点数格式有3种,阶码的底隐含为2。短实数又称为单精度浮点数,长实数又称为双精度浮点数,临时实数主要用于进行浮点数运算时保存临时的计算结果。数据类型总位数尾数位数阶码位数短实数32248长实数645311临时实数806515单精度浮点数和双精度浮点数的阶码采用移码,但不同的是:它的偏移量不是27和210,而是27-1=127和210-1=1023;尾数使用原码表示,且采用隐藏位,也就是将规格化浮点数尾数的最高位的“1”省略,不予保存,认为它隐藏在尾数小数点的左边。由此,推导出它们的真值计算公式如上表,其中E为阶码ESE1……Em的加权求和的值。快拷彪耶陀垂与烂猿婴僳懦侩戏如峡莽探醇璃飘译龟怔侥瞩傈虹徊苑鬃琵第3章信息编码与数据表示1第3章信息编码与数据表示693、IEEE754浮点数标准根据IEEE754国际标准阶码用移码表示(单精度):25400+127-127无符号数移码……MsEsE1…E7M1M2…M23MsEsE1…E10M1M2…M52IEEE754单精度格式IEEE754双精度格式移码通常作为浮点数的阶码。原因:便于比较浮点数的大小。阶码大的,其对应的真值就大,阶码小的对应的真值就小。简化机器中的判零电路。当阶码全为0,尾数全为0时,表示机器零。怎烂箩尸烫垒弘酚姻游玻疥描窖弦匠谆叼编闰下扦柳谷超易室掉泡毅蒋奖第3章信息编码与数据表示1第3章信息编码与数据表示70阶码用移码表示(单精度):25400+127-127无符号数例3.10:若X和Y均是IEEE754标准的单精度浮点数,若X浮点数的存储形式为41360000H,求X的真值。若Y=-135.625,求Y的浮点数表示。解:(1)[X]浮=01000001001101100000000000000000B根据IEEE754标准的单精度浮点数格式,有: MS=0,E=ESE1……Em=10000010B=130D, 1.M1M2……Mn=1.01101100000000000000000,X=(-1)MS×(1.M1M2……Mn)×2E-127=(-1)0×(1.011011)×2130-127;X=(+1011.011)2=(+11.375)10
(2)Y=(-10000111.101)2;Y=-1.0000111101×27=(-1)1×(1.0000111101)×2134-127;因此:MS=1,E=ESE1……Em=134D=10000110B, 1.M1M2……Mn
=1.00001111010000000000000[Y]浮=11000011000001111010000000000000B=C307A000H亥皋赏助蔚挺铃雇屈划疏样昨浊赵硷扫赫兴猴汀膜退报仆没民窍富舒糜按第3章信息编码与数据表示1第3章信息编码与数据表示71例3.10:若X和Y均是IEEE754标准的单精度浮点数4、浮点数的表示范围浮点数的表示范围通常:最小(负)数、最大负数、最小正数、最大(正)数。位于最大负数和最小正数之间的数据(除0外),机器无法表示,称为下溢。对于下溢的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论