资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,2.1,进位计数制,2.2,进位数制之间的转换,2.3,二进制编码(代码),2.4,二进制数的运算,2.5,数的定点与浮点表示,2.6,带符号数的表示法,微机运算基础,第,2,章 微机运算基础,一、十进制数,十进制的,基数,为,10,(,数码的个数等于基数,)“逢十进一”。,二、二进制数,十进制的基数为,2,,“逢二进一”。,三、八进制数,十进制的基数为,8,,,“,逢八进一”。,四、十六进制数,十进制的基数为,16,,“逢十六进一”。,2.1,进位计数制,数制通常书写方法,:,一 在数的右下角注明数制,例如,21,16,、,43,10,、,65,8,、,1010,2,。,二 是在数的后面加上一些字母符号。,十六进制用,,,十进制用,D,表示或不加字母符号,,八进制用,表示,,二进制用,2.,进位数制之间的转换,N=K,4,2,4,K,3,2,3,K,2,2,2,K,1,2,1,K,0,2,0,1,2,1,2,2,2,3,2,3,4,2,4,二、十进制数转换为,/,八,/,十六进制数,规则为:,1.,整数部分,“,除,2,倒取余,”,。,2.,小数,部分,“,乘,2,顺,取整,”,方法。,一、二,/,八,/,十六进制数转换为十进制数,按权展开,1101.11,例:,(101.101),2,转换成十进制。,按公式展开:,例:,(11.375),10,转换成二进制。,整数部分:,小数部分:,三、八进制数与二进制数之间的转换,将每位八进制数用,3,位二进制数表示,,整数部分左补,0,,小数部分右补,0,。,0,10 101 001.11,0,2 5 1 .6,四、十六进制数与二进制数之间的转换,将每位十六进制数用,4,位二进制数表示,,整数部分左补,0,,小数部分右补,0,。,用,4,位二进制数表示一位十进制数。有两种表示法:压缩,BCD,码和非压缩,BCD,码。,压缩,BCD,码,的每一位用,4,位二进制表示,,00001001,表示,09,,一个字节表示两位十进制数。,非压缩,BCD,码,用一个字节表示一位十进制数,,高,4,位总是,0000,,低,4,位的,00001001,表示,09,。,一、二进制编码的十进制(二,十进制或,D,码),2.3,二进制编码,(,代码,),例如,十进制整数,256,用,BCD,码表示,则为,(,0010 0101 0110,),BCD,如何将二进制数,1011.01,转换成相应的,BCD,码,?,例,:,将二进制数,1011.01,转换成相应的,BCD,码,。,首先,将二进制数转换成十进制数:,1011.01B,(,1,23,)(,0,22,)(,1,21,)(,1,20,)(,0,2-1,)(,1,2-2,),11.25D,然后,将十进制结果转换成,BCD,码,11.25D,(,0001 0001.0010 0101,),BCD,BCD,码运算,(,0010 0101,),BCD,(,0010 0101,),BCD,?,无论二进制数采用什么样的编码方式,计算机,自动按照二进制运算,,须编程对结果进行十进制调整(有的,CPU,直接提供十进制运算指令,自动完成调整),8+9=17,1 0 0 0,+1 0 0 1,1,0 0 0 1,11D,+0 1 1 0,1,0 1 1 1,(17)BCD,BCD,码加法调整方法:,当低(或高),4,位数值,超过,9,或,向前有进位,(或借位)时,该,4,位数值补,(加),6,二、字母与字符的编码,目前在微机、通讯设备和仪器仪表中广泛使用的是,ASCII,(,American Standard Code for Information Interchange,)码,-,美国标准信息交换码。,7,位,ASCII,代码能表示,27,128,种不同的字符,其中包括数码,(0,9),英文大、小写字母,标点和控制的附加字符。,7,位,ASCII,码是由,左,3,位,一组和,右,4,位,一组组成的。,数字,0,9,的,ASCII,码是,011,0000,011,1001,(,30H,39H,),,,它们的高,3,位均是,011,,后,4,位正好与其对应的二进制代码(,BCD,码)相符。,英文字母,A,Z,的,ASCII,码从,1000001,(,41H,),开始顺序递增,字母,a,z,的,ASCII,码从,1100001,(,61H,),开始顺序递增,这样的排列对信息检索十分有利。,最高位通常用作奇偶校验位,一、定点表示,通常,对于任意一个二进制数总可以表示为纯小数或纯整数与一个,2,的整数次幂的乘积。例如,二进制数可写成 其中,,S,:,的尾数;:的阶码;,2,称为阶码的底。,2,P,S,2.5,数的定点与浮点表示,符号,尾数,.S,符号,尾数,S.,尾数,S,为纯小数时,这时定点数只能表示小数,尾数,S,为纯整数时,这时定点数只能表示整数,P,0,:,定点数,二、浮点表示,2,S,如果数的阶码可以取不同的数值,称这种表示方法为数的,浮点表示法,。,阶码,P,用二进制整数表示,可正可负。用一位二进制数,P,f,表示阶码的符号位;,尾数,S,,用,S,f,表示尾数的符号,,S,f,0,表示尾数为正;,S,f,1,表示尾数为负,.,P,f,S,f,阶码符号,阶码,尾数符号,尾数,2.6,带符号数的表示法,一、机器数与真值,在计算机中,为了区别正数或负数,是将数学上的“”“”符号数字化,规定,1,个字节中的,D7,位为符号位。在符号位中,用“,0”,表示正,“,1”,表示负,而数字位表示该数的数值部分。,例如:,01011011,91D,11011011,91D,1,个数(包括符号位)在机器中的一组二进制数表示形式,称为“,机器数,”,,,而把它所表示的值称为机器数的“,真值,”,。,二、机器数的种类和表示方法,(一)原码,所谓数的原码表示,即符号位用,0,表示正数,而用,1,表示负数,,其余数字位表示数值本身,。,0,原,0 0 0 0 0 0 0 0,0,原,1 0 0 0 0 0 0 0,对于负数 ,105,原,1 1 1 0 1 0 0 1,符号位,数值本身,对于正数 ,105,原,0 1 1 0 1 0 0 1,符号位,数值本身,注意:对于正数,三种表示法均相同,它们的差别仅在于对负数的表示,(二)反码 正数的反码表示与其原码相同,即符号位用“,0”,表示正,数字位为数值本身。,负数的反码是将它的正数按位(包括符号位在内)取反而形成的。,“,0,”,的反码有两种表示法:,00000000,表示,0,,,11111111,表示,0,。,8,位二进制反码能表示的数值范围为,127D,127D,(三)补码,正数的补码与其原码相同;负数的补码表示为它的反码加,1,(即在其低位加,1,),8,位二进制数补码表示也列入表,2,.,5,中。它有如下特点:,(,1,),0,补,0,补,00000000,(,2,),8,位二进制补码所能表示的数值为,127,128,。,一个补码表示的数,补,10011011B,=,1100101,(,64,32,4,1,),101D,补码加减法的运算规则,通过引进补码,可将减法运算转换为加法运算。规则如下:和:,X+Y,补,=X,补,+Y,补,差,:X-Y,补,=X,补,-Y,补,或,X-Y,补,=X,补,+-Y,补,其中,X,,,Y,为正负数均可,符号位参与运算,X=X,补,补,四、溢出及其判断方法,溢出是指带符号数的补码运算运算结果超出表示范围。,解,:,X,补,=01111000,,,Y,补,=00001010,X,补,=,0,1 1 1 1 0 0 0,+Y,补,=,0,0 0 0 1 0 1 0,1,0 0 0 0 0 1 0,X+Y,补,=10000010,,,X+Y,的真值,=-1111110=(-126),10,运算结果超出机器数值范围发生溢出错误。,8,位计算机数值表达范围:,(-128+127),例:已知机器字长,n=8,,,X=120,,,Y=10,,求,X+Y=,?,溢出判断规则与判断方法,两个相同符号数,相加,其运算结果符号与被加数相同,若相反则产生溢出;,两个相异符号数,相减,其运算结果符号与被减数相同,否则产生溢出。,相同符号数,相减,,相异符号数,相加不会产生溢出。,溢出判断方法:,1.,双符号法,,2.,进位判断法,.,双符号位溢出判断法,Sf1Sf2,(,也被称为变形补码),双符号含义:,00,表示运算结果为正数;,01,表示运算结果正向溢出;,10,表示运算结果负向溢出;,11,表示运算结果为负数。,亦即:,OVR=S,f1,S,f2,=1,有溢出,OVR=S,f1,S,f2,=0,无溢出,第一位符号位(高符号位)为运算结果的真正符号位。,.,进位溢出判断法,D,6C,D,7C,两单符号位的补码进行加减运算时,若,最高数值位向符号位的进位值,C,与,符号位产生的进位输出值,S,相同时则无溢出,否则溢出。,例:,X,补,=1.1 0 1 X,补,=1.1 1 0,+Y,补,=1.0 0 1 +Y,补,=0.1 0 0,X+Y,补,=10.1 1 0 X+Y,补,=10.0 1 0,D,6C,=0,D,7C,=1,有溢出,D,6C,=1,D,7C,=1,无溢出,溢出与进位,进位是指运算结果的最高位向更高位的进位。如有进位,则,1,;无进位,则,0,。,(,D,7C,),当,1,,即,D,7C,1,时,,若,D,6C,1,,,则,0,,,表示无溢出;,若,D,6C,0,,,则,1,,表示有溢出。,当,0,,即,D,7C,0,时,,若,D,6C,1,,,则,1,,表示有溢出;,若,D,6C,0,,,则,0,,表示无溢出。,对于字长为,16,位的二进制数用补码表示时,判断溢出的双进位式为:,V,D,15c,D,14c,
展开阅读全文