您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第1章计算机硬件基础2
1.2微型计算机运算基础数制二进制NB由“0”、“1”组成,逢二进一。二进制数构成的代码是计算机唯一能识别的机器语言。八进制No由“0~8”组成,逢八进一。十六进制NH由“0~9”和“A~F”组成,逢十六进一。十进制ND由“0~9”组成,逢十进一。1.2.1计算机中数值数据的表示1.机器数和真值最高位作符号位:“0”表示正“+”,“1”表示负“-”。机器数:把一个数在机器中的表示形式称为机器数。在计算机中使用的、连同符号位一起数字化了的数。真值:把原来的实际数本身值叫真值(机器数真值)。机器数真值机器数真值D7D0N1符号位数值位N2符号位数值位N1=+1101011=+107N2=-1101011=-1070110101111101011机器数的特点:1.符号数值化2.有限字长--数的范围受字长限制3.约定小数点的位置常用术语:1.位(bit)—能表示的最小数据单位,状态“0”和“1”。2.字节(Byte)—一个8位二进制数称为一个字节。字节是计算机处理数据的基本单位,存储器中每个存储单元的大小就是一个字节。3.字(Word)—一次可以处理或运算的一组二进制数,是计算中信息的基本单元。4.字长(WordLength)—指字的二进制数的位数。一个字节8位最高位最低位微处理器一个字高位字节低位字节16位微处理器最高位最低位一个字以8位字长为例:D7为符号位,D6~D0为数字位。若字长为16位:D15为符号位,D14~D0为数字位。D7D0D15D02.有符号数的机器数表示方法机器数的三种不同编码形式,即原码、反码和补码。[X]原、[X]反、[X]补[X]原—表示机器数,X—表示真值。1)原码最高位为符号位,0表示“+”,1表示“-”。数值位与真值数值位相同。设X=X1,X2,······,Xn-1,其中Xi为一位二进制数,i=1,2,······,(n-1)12n112n10XXX(X0)1XXX(X0)[X]当当原例:8位原码机器数:真值:x1=84x2=-84=+1010100B=-1010100B机器数:[x1]原=01010100[x2]原=110101000的表示:即+0和-0(设字长为8位):[+0]原=00000000[-0]原=10000000原码表示简单直观,但0的表示不唯一,加减运算复杂。2)反码设X=X1,X2,······,Xn-1,其中Xi为一位二进制数,i=1,2,······(n-1)12n10XXX(X0)12n11XXX(X0)[X]当反当)1(0)0(1iiiXXX当当•正数的反码与原码表示相同。负数反码符号位为1,数值位为原码数值各位取反。例:8位反码机器数:x=+4:[x]原=00000100[x]反=00000100x=-4:[x]原=10000100[x]反=11111011数0:[+0]反=00000000[-0]反=111111113)补码(1)同余的概念和补码数的补码与“模”有关“模”即计数系统的量程。当X0,[X]补=模-|X|。举例:钟表对时。设时钟系统“模”为12,标准时间为7点整。8位二进制数的模为:28=256当X0,[X]补=28-|X|=256-|X|=255-|X|+1=[X]反码+19+[-2]补=9+10=7+12=7(舍弃模)(2)补码求法设X=X1,X2,······,Xn-1,其中Xi为一位二进制数,i=1,2,······,(n-1)n1X0X2[X]nn1n2X2X0(mod2)当补或当12n10XXX[X][X](X0)12n11XXX1[X]1(X0)[X]反原反=当补+=当(1)正数:[X]原=[X]反=[X]补例:[+127]原=[+127]反=[+127]补=01111111(2)负数:[X]补=[X]反+1例:设X=-25=-0011001[X]反=11100110+1[X]补=11100111(3)数0:[+0]补=00000000[-0]补=[-0]反+1=11111111+1=00000000即:数0的补码仅有一种形式[+0]补=[-0]补=00······0(n位)(4)8位补码中的一个特殊数100000008位补码中定义为:-1288位数的补码范围:-128~+127数的表示方法十进制数二进制数原码反码补码+0+0000000000000000000000000000000+1+0000001000000010000000100000001+2+0000010000000100000001000000010······························+127+1111111011111110111111101111111-0-0000000100000001111111100000000-1-0000001100000011111110111111111······························-126-1111110111111101000000110000010-127-1111111111111111000000010000001-128-10000000无法表示无法表示10000000(5)由数的补码,求对应的真值:{[X]补}补=[X]原例:设[X]补=00101110[X]原=00101110X=+0101110=+46[X]补=1001011111101000+111101001[X]原=11101001,X=-1101001=-105.机器数与真值之间的转换1)X1=+127,X2=-127,求[X]原、[X]补[X1]原=[X1]补=01111111=7FH[X2]原=11111111=FFH[X2]补=10000001=81H2)X1=+255,X2=-255,求[X]原、[X]补[X1]原=[X1]补=0000000011111111=00FFH[X2]原=1000000011111111=80FFH[X2]补=1111111100000001=FF01H1.真值机器数机器数与真值之间的转换1)[X1]原=59H,[X2]原=D9H,求真值?[X1]原=[X2]原=2.机器数真值*注意机器数表示(原码、补码)*注意机器数符号位0101100111011001X1=+1011001B=+89X2=-1011001B=-892)[X1]补=59H,[X2]补=D9H,求真值?X1=+1011001B=+89X2=-0100111B=-39小结1.三种编码的最高位都是表示符号位。2.对正数,三种编码都是一样的,即[X]原=[X]反=[X]补对负数,三种编码是不同的。符号位其余位0真值1原码反码补码真值按位取反按位取反+13.八位二进制数,不同码的数值范围不同:4.计算机采用的码制不同,则运算器和控制器的结构将不同。小型计算机和微型计算机大都为补码机。数的范围0的表示原码-127~+127两种原码机反码-127~+127两种反码机补码-128~+127一种补码机3.数的定点和浮点表示定点表示法—就是小数点在数中的位置固定不变。浮点表示法—就是小数点在数中的位置是浮动的。一个二进制数可以表示为:X=2J×SS-尾数,J-阶码1)定点数定点纯整数当J=0,且尾数S为纯整数,定点数只能表示整数。小数点隐含在最低数值位后。定点纯小数当J=0,且尾数S为纯小数,定点数只能表示纯小数。小数点隐含在最高数值位前。例1:有如下二个8位二进制数例2:有例1中同样两个数,小数点位置不同01010100•10101100•N1:N2:N1=+84N2=-840•10101001•0101100N1:N2:N1=+0.65625N2=-0.656252)浮点表示法X=2J×S阶码J-可变整数,用补码表示尾数S-可为正、负数,用补码(或原码)表示浮点数在机器中表示形式:阶符阶码尾符•尾数规格化表示½S1≦阶符Jf阶码J数符Sf尾数(也叫有效数)S阶码部分尾数部分例1:(-18.75)10=(-10010.11)2=(-0.1001011)x2+101例2:(0.078125)10=?(0.078125)10=(0.000101)2=0.101x2-11010110110101或表示成(1.0110101)x(10)0101110101010000或表示成(0.1010000)x(10)11014.无符号数的机器数表示方法1)无符号二进制数D7D7D0……D0多字节数值位单字节D7D0数值位8位数的范围:0~25516位数的范围:0~327672)BCD码用四位二进制码表示一位十进制数,简称BCD。通常采用与0~9各数字所对应的二进制数作为代码,称8421BCD(简称NBCD)十进制数NBCD十进制数NBCD0000060110100017011120010810003001191001401001000010000501011100010001例1:将十进制数83.6转换成BCD码(83.6)10=(10000011.0110)BCD注意:BCD码与真正的纯二进制数是不同的。它是十进制数。通常用在计算机的输入/输出设备中。说明:(1)BCD码--4位一组(2)组间十进制例2:将BCD码10010111.01000010转换成十进制数。(10010111.01000010)BCD=(97.42)10BCD码的表示有两种:•压缩BCD码(组合BCD码,紧凑BCD码)一个字节表示2位BCD码如9310010011B数的范围:00~99•非压缩BCD码(非组合BCD码,非紧凑BCD码)一个字节表示1位BCD码,高4位总是0000如9300001001¦00000011数的范围:00~091.2.2计算机中非数值数据的表示西文的表示—ASCII字符编码采用美国标准信息交换码ASCII码,用于计算机与计算机、计算机与外设之间传递信息。共8位:奇偶校验位+7位编码1.偶校验-“1”的个数为偶数。2.奇校验-“1”的个数为奇数。1.2.2计算机中非数值数据的表示00000低位高位CRGS-=M]}D1101E1110F11117011181000601104010091001A10105010130011100012001000000B1011C110010001200103001140100501016011070111DC1!1AQaqSOHDLESP0@P、pNULDC3#3CScsETXDC2“2BRbrSTXNAK%5EUeuENQDC4$4DTdtEOTETB、7GWgwBELSYN&6FVfvACKCAN(8HXhxBSEM)9IYiyHT[{kVTESC+;KLFSUB*:JZzj\|lFFFS,<LSORS.>N↑~nSIUS/?O←DELom1.2.3计算机的运算1.补码运算及溢出判别1)补码的加减法运算规则设X和Y是两个正数,可以证明两个数和的补码等于两个数补码的和:[X+Y]补=2n+(X+Y)(模2n)=(2n+X)+(2n+Y)=[X]补+[Y]补两数X、Y相加不论其正、负,此结论都成立。同样,也可以证明两数的差的补码等于被减数与减数负值的补码之和。[X-Y]补=2n+(X-Y)=2n+X+2n+(-Y)=[X]补+[-Y]补两数差的运算,简化为单纯的加法运算。结论:[X±Y]补=[X]补+[±Y]补即:将[Y]补连同符号位一起按位取反,再在末位加1,可得到[-Y]补。([-Y]补=[Y]补求反加1)[-Y]补称为[Y]补的机器负数。1][][2][YYnY补补补*求[-Y]补的方法:例1:(1)[Y]补=00000100[-Y]补=11111100(2)Y=1010110,求[Y]原,[Y]补,[-Y]补[Y]原=[Y]补=01010110(3)Y=-0011011,求[Y]原,[Y]补,[-Y]补[Y]原=10011011[
本文标题:第1章计算机硬件基础2
链接地址:https://www.777doc.com/doc-3185969 .html