第三节计算机中数值的表示.ppt
第三节计算机中数值的表示现在学习的是第1页,共12页二二.无符号二进制数无符号二进制数 无符号二进制数的范围无符号二进制数的范围:由计算机的CPU字长来决定。1、当字长为8位时,最大值是:28 -1=(11111111)B=(255)D,机器数的范围是:0255(0 FFH)。2、当字长为16位时,机器数的范围是:0 65535(0 FFFFH)现在学习的是第2页,共12页三.三.带符号数的原码、反码、补码表示带符号数的原码、反码、补码表示1 1、原原码码:规规定定正正数数的的符符号号位位为为0 0,负负数数的的符符号号位位为为1 1,数数值值部部分分均均保保持持原原值值不变不变例如:当机器字长为例如:当机器字长为8 8位二进制数时:位二进制数时:X X1011011 1011011 XX原码原码0101101101011011 Y Y1011011 1011011 YY原码原码1101101111011011原原码码表表示示的的整整数数范范围围是是(2 2n-1n-11 1)(2 2n-1n-11 1),其其中中n n为为机器字长。机器字长。通常:通常:8 8位二进制原码表示的整数范围是位二进制原码表示的整数范围是127 127 127127,16 16位二进制原码表示的整数范围是位二进制原码表示的整数范围是32767 32767 32767。现在学习的是第3页,共12页2 2、反码、反码对对于于一一个个带带符符号号的的数数来来说说,正正数数的的反反码码与与其其原原码码相相同同,负负数数的的反码为其原码除符号位以外的各位按位取反。反码为其原码除符号位以外的各位按位取反。例如:当机器字长为例如:当机器字长为8 8位二进制数时:位二进制数时:X X1011011 1011011 X X原码原码 0 01011011 1011011 X X反码反码 0 010110111011011 Y Y1011011 1011011 Y Y原码原码 1 11011011 1011011 Y Y反码反码 1 101001000100100 反码通常用作求补码过程中的中间形式。反码表示的整数范围与原码相反码通常用作求补码过程中的中间形式。反码表示的整数范围与原码相同。同。现在学习的是第4页,共12页正数的补码与其原码相同正数的补码与其原码相同 例如:例如:X +1 0 1 1 0 1 1 X原码0 1 0 1 1 0 1 1 X补码0 1 0 1 1 0 1 1 求负数补码的方法:反码末位加求负数补码的方法:反码末位加1 1得补码。得补码。例如:例如:Y 0 0 0 0 1 0 0 ;(-4)Y原码1 0 0 0 0 1 0 0 Y反码1 1 1 1 1 0 1 1 Y补码1 1 1 1 1 1 0 03 3、补码的求法:、补码的求法:现在学习的是第5页,共12页 负数补码的快速求法:负数补码的快速求法:将负数原码的符号位将负数原码的符号位11和最后和最后一个一个1 1之间的每一位取反,其它位不变。之间的每一位取反,其它位不变。例如:例如:x=-1011011 x=-1011011 ;(-5BH=-91)(-5BH=-91)xx原原=1 1 1 0 1 1 0 11 0 1 1 0 1 1 1 xx补补=1 1 0 1 0 0 1 00 1 0 0 1 0 1 1 补码表示的整数范围是补码表示的整数范围是2 2n-1 n-1 (2 2n-1n-11 1),其中),其中n n为机为机器字长。器字长。则:则:8 8位二进制补码表示的整数范围是位二进制补码表示的整数范围是128 128 127127,16 16位二进制补码表示的整数范围是位二进制补码表示的整数范围是32768 32768 3276732767。现在学习的是第6页,共12页补补码码与与真真值值之之间间的的转转换换:若若已已知知某某数数的的补补码码求求其其真真值值,计计算算方方法法如如下下:正正数数补补码码的的真真值值等等于于补补码码的的本本身身;负负数数补补码码求其真值时,将该负数补码再求补求其真值时,将该负数补码再求补,就可得到其真值就可得到其真值。【例1.14】给定 X补码01011001B,求真值X;给定 Y补码11011010B,求真值X。(1)由于X补码代表的数是正数,则其真值:X1011001B59H (51619)89(2)由于y补码代表的数是负数,则其真值:X(1011010求反1)B(01001011)B 0100110B26H(21616)38 快速求法:快速求法:X=1010 0110=-38现在学习的是第7页,共12页 补码的运算规则:补码的运算规则:X+Y补=X补+Y补 X-Y补=X补+-Y补 举例:设X=+66,Y=+51 求X-Y 补 解:X-Y 补=X 补+-Y 补X=+66=+42H=0 100 0010 B0010 B=,X 补如何求-Y 补呢?Y=+51=+33H=0 011 0011-Y=1 011 0011-Y 补=1100 1101(除符号位,各位取反加1)在求在求X 补+-Y 补 0 1 0 0 0 0 1 00 0 1 0 +1 1 0 0 1 1 0 1 1 1 0 1 自然丢失 1 0 0 0 0 1 1 1 1验算:验算:66 51=15=0FH=0000 1111B66 51=15=0FH=0000 1111B现在学习的是第8页,共12页 小小 结结 计算机中采用补码表示有符号数,计算机中采用补码表示有符号数,减法可以变成加法来运算,且不必判减法可以变成加法来运算,且不必判断数的正负,只要符号位参加运算就断数的正负,只要符号位参加运算就能得到正确结果。能得到正确结果。现在学习的是第9页,共12页课堂练习:写出以下数据的原码、反码和补码 +96 ;123作业:写出以下数据的原码、反码和补码 321 ;89 ;175现在学习的是第10页,共12页课堂练习答案写出以下数据的原码、反码和补码+96=+60H=0 0110 0000B+96原=0 0110 0000B=+96反=+96补123=7BH=1 111 1011B123原=1 111 1011B123反=1 000 0100B123补=1 000 0101B现在学习的是第11页,共12页作业:写出以下数据的原码、反码和补码 221 ;89 ;175+221=+DDH=0 1101 1101 B+221原=0 1101 1101 B=+96反=+96补89=59H=1 101 1001B89原=1 101 1001B;89反=1 010 0110B89补=1 010 0111B115=73H=1 111 0011B115原=1 111 0011B115反=1 111 1100B115补=1 111 1101B作业答案作业答案现在学习的是第12页,共12页