《第02章. 微机运算基础.ppt》由会员分享,可在线阅读,更多相关《第02章. 微机运算基础.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2.12.1 进位计数制进位计数制进位计数制进位计数制2.2 2.2 2.2 2.2 进位数制之间的转换进位数制之间的转换进位数制之间的转换进位数制之间的转换2.3 2.3 2.3 2.3 二进制编码(代码)二进制编码(代码)二进制编码(代码)二进制编码(代码)2.4 2.4 2.4 2.4 二进制数的运算二进制数的运算二进制数的运算二进制数的运算2.5 2.5 2.5 2.5 数的定点与浮点表示数的定点与浮点表示数的定点与浮点表示数的定点与浮点表示2.6 2.6 2.6 2.6 带符号数的表示法带符号数的表示法带符号数的表示法带符号数的表示法微微机机运运算算基基础础第第2 2章章 微机运算基
2、础微机运算基础 一、十进制数一、十进制数十进制的十进制的基数基数为为1010(数码的个数等于基数数码的个数等于基数)“逢十逢十进一进一”。二、二进制数二、二进制数十进制的基数为十进制的基数为2 2,“逢二进一逢二进一”。三、八进制数三、八进制数十进制的基数为十进制的基数为8 8,“逢八进一逢八进一”。四、十六进制数四、十六进制数十进制的基数为十进制的基数为1616,“逢十六进一逢十六进一”。2.1 2.1 进位计数制进位计数制数制通常书写方法数制通常书写方法数制通常书写方法数制通常书写方法:一一一一 在数的右下角注明数制在数的右下角注明数制在数的右下角注明数制在数的右下角注明数制,例如例如例如
3、例如2121212116161616、4343434310101010、656565658 8 8 8、10101010101010102 2 2 2。二二二二 是在数的后面加上一些字母符号。是在数的后面加上一些字母符号。是在数的后面加上一些字母符号。是在数的后面加上一些字母符号。十六进制用十六进制用十六进制用十六进制用,十进制用十进制用十进制用十进制用D D D D表示或不加字母符号,表示或不加字母符号,表示或不加字母符号,表示或不加字母符号,八进制用八进制用八进制用八进制用表示,表示,表示,表示,二进制用二进制用二进制用二进制用2.2.进位数制之间的转换进位数制之间的转换N=KN=K4 4
4、224 4K K3 3223 3 K K2 2 2 22 2K K1 1221 1K K0 0220 0 1 1 2 21 12 2 2 22 23 3 2 23 34 4 2 24 4二、十进制数转换为二、十进制数转换为二、十进制数转换为二、十进制数转换为/八八八八/十六进制数十六进制数十六进制数十六进制数规则为规则为规则为规则为:1.1.1.1.整数部分整数部分整数部分整数部分“除除除除2 2 2 2倒取余倒取余倒取余倒取余”。2.2.2.2.小数小数小数小数部分部分部分部分“乘乘乘乘2 2 2 2顺顺顺顺取整取整取整取整”方法。方法。方法。方法。一、二一、二/八八/十六进制数转换为十进制
5、数十六进制数转换为十进制数 按权展开按权展开1101.11例:例:(101.101)2 转换成十进制。转换成十进制。按公式展开:按公式展开:例:例:(11.375)10转换成二进制。转换成二进制。整数部分:整数部分:小数部分:小数部分:三、八进制数与二进制数之间的转换三、八进制数与二进制数之间的转换 将每位八进制数用将每位八进制数用3位二进制数表示,位二进制数表示,整数部分整数部分左补左补0,小数部分右补,小数部分右补0。010 101 001.110 2 5 1 .6 四、十六进制数与二进制数之间的转换四、十六进制数与二进制数之间的转换 将每位十六进制数用将每位十六进制数用4位二进制数表示,
6、位二进制数表示,整数部整数部分左补分左补0,小数部分右补,小数部分右补0。n n 用用用用4 4位二进制数表示一位十进制数。有两种表示法:压缩位二进制数表示一位十进制数。有两种表示法:压缩位二进制数表示一位十进制数。有两种表示法:压缩位二进制数表示一位十进制数。有两种表示法:压缩BCDBCD码和非压缩码和非压缩码和非压缩码和非压缩BCDBCD码。码。码。码。n n 压缩压缩压缩压缩BCDBCD码码码码的每一位用的每一位用的每一位用的每一位用4 4位二进制表示,位二进制表示,位二进制表示,位二进制表示,0000100100001001表示表示表示表示0909,一个字节表示两位十进制数。一个字节表
7、示两位十进制数。一个字节表示两位十进制数。一个字节表示两位十进制数。n n 非压缩非压缩非压缩非压缩BCDBCD码码码码用一个字节表示一位十进制数,用一个字节表示一位十进制数,用一个字节表示一位十进制数,用一个字节表示一位十进制数,高高高高4 4位总是位总是位总是位总是00000000,低,低,低,低4 4位的位的位的位的0000100100001001表示表示表示表示0909。一、二进制编码的十进制(二一、二进制编码的十进制(二一、二进制编码的十进制(二一、二进制编码的十进制(二十进制或十进制或十进制或十进制或D D D D码)码)码)码)2.3 2.3 二进制编码二进制编码(代码代码)例如
8、,十进制整数例如,十进制整数例如,十进制整数例如,十进制整数256256256256用用用用BCDBCDBCDBCD码表示,则为码表示,则为码表示,则为码表示,则为 (0010 0101 01100010 0101 01100010 0101 01100010 0101 0110)BCDBCDBCDBCD如何将二进制数如何将二进制数如何将二进制数如何将二进制数1011.011011.011011.011011.01转换成相应的转换成相应的转换成相应的转换成相应的BCDBCDBCDBCD码码码码?例例例例:将二进制数将二进制数将二进制数将二进制数1011.011011.011011.011011
9、.01转换成相应的转换成相应的转换成相应的转换成相应的BCDBCDBCDBCD码码码码。首先首先首先首先,将二进制数转换成十进制数:将二进制数转换成十进制数:将二进制数转换成十进制数:将二进制数转换成十进制数:1011.01B1011.01B1011.01B1011.01B(1 1 1 1 23232323)()()()(0 0 0 0 22222222)()()()(1 1 1 1 21212121)(1 1 1 1 20202020)()()()(0 0 0 0 2-12-12-12-1)()()()(1 1 1 1 2-22-22-22-2)11.25D11.25D11.25D11.25
10、D然后,将十进制结果转换成然后,将十进制结果转换成然后,将十进制结果转换成然后,将十进制结果转换成BCDBCDBCDBCD码码码码 11.25D11.25D11.25D11.25D(0001 0001.0010 01010001 0001.0010 01010001 0001.0010 01010001 0001.0010 0101)BCDBCDBCDBCDBCDBCDBCDBCD码运算码运算码运算码运算(0010 01010010 01010010 01010010 0101)BCDBCDBCDBCD (0010 01010010 01010010 01010010 0101)BCD BCD
11、 BCD BCD?无论二进制数采用什么样的编码方式,计算机无论二进制数采用什么样的编码方式,计算机无论二进制数采用什么样的编码方式,计算机无论二进制数采用什么样的编码方式,计算机自动按自动按自动按自动按照二进制运算照二进制运算照二进制运算照二进制运算,须编程对结果进行十进制调整(有的,须编程对结果进行十进制调整(有的,须编程对结果进行十进制调整(有的,须编程对结果进行十进制调整(有的CPUCPU直接提供十进制运算指令,自动完成调整)直接提供十进制运算指令,自动完成调整)直接提供十进制运算指令,自动完成调整)直接提供十进制运算指令,自动完成调整)8+9=178+9=171 0 0 01 0 0
12、0+1 0 0 1+1 0 0 11 1 0 0 0 1 0 0 0 111D11D+0 1 1 0+0 1 1 0 1 1 0 1 1 10 1 1 1(17)BCD(17)BCDBCDBCDBCDBCD码加法调整方法:码加法调整方法:码加法调整方法:码加法调整方法:当低(或高)当低(或高)当低(或高)当低(或高)4 4 4 4位数值位数值位数值位数值超过超过超过超过9 9 9 9或或或或向前有进位向前有进位向前有进位向前有进位(或(或(或(或借位)时,该借位)时,该借位)时,该借位)时,该4 4 4 4位数值补位数值补位数值补位数值补(加)(加)(加)(加)6 6 6 6二、字母与字符的编
13、码 目前在微机、通讯设备和仪器仪表中广泛使用的是ASCII(American Standard Code for Information Interchange)码-美国标准信息交换码。7位ASCII代码能表示27128种不同的字符,其中包括数码(09),英文大、小写字母,标点和控制的附加字符。7位ASCII码是由 左3位 一组和 右4位一组组成的。n n数字数字数字数字0 0 0 09 9 9 9的的的的ASCIIASCIIASCIIASCII码是码是码是码是01101101101100000000000000000110110110111001100110011001(30H30H30H3
14、0H39H39H39H39H),它们的高它们的高它们的高它们的高3 3 3 3位均是位均是位均是位均是011011011011,后,后,后,后4 4 4 4位正好与其对应的位正好与其对应的位正好与其对应的位正好与其对应的二进制代码(二进制代码(二进制代码(二进制代码(BCDBCDBCDBCD码)相符。码)相符。码)相符。码)相符。n n英文字母英文字母英文字母英文字母A A A AZ Z Z Z的的的的ASCIIASCIIASCIIASCII码从码从码从码从1000001100000110000011000001(41H41H41H41H)开始顺序开始顺序开始顺序开始顺序递增,字母递增,字母递
15、增,字母递增,字母a a a az z z z的的的的ASCIIASCIIASCIIASCII码从码从码从码从1100001110000111000011100001(61H61H61H61H)开始顺开始顺开始顺开始顺序递增,这样的排列对信息检索十分有利。序递增,这样的排列对信息检索十分有利。序递增,这样的排列对信息检索十分有利。序递增,这样的排列对信息检索十分有利。n n最高位通常用作奇偶校验位最高位通常用作奇偶校验位最高位通常用作奇偶校验位最高位通常用作奇偶校验位一、定点表示一、定点表示 通常,对于任意一个二进制数总可以表示为纯通常,对于任意一个二进制数总可以表示为纯小数或纯整数与一个小数
16、或纯整数与一个2 2的整数次幂的乘积的整数次幂的乘积 。例如,二。例如,二进制数可写成进制数可写成 其中,其中,S S:的尾数;:的阶码;的尾数;:的阶码;2 2称为阶称为阶码的底。码的底。2 2 2 2P P P P S S S S2.5 2.5 数的定点与浮点表示数的定点与浮点表示符号符号符号符号尾数尾数尾数尾数 .S.S.S.S符号符号符号符号尾数尾数尾数尾数 S.S.S.S.尾数尾数尾数尾数S S S S为纯小数时,这时定点数只能表示小数为纯小数时,这时定点数只能表示小数为纯小数时,这时定点数只能表示小数为纯小数时,这时定点数只能表示小数尾数尾数尾数尾数S S S S为纯整数时,这时定
17、点数只能表示整数为纯整数时,这时定点数只能表示整数为纯整数时,这时定点数只能表示整数为纯整数时,这时定点数只能表示整数P P P P0 0 0 0:定点数定点数定点数定点数二、浮点表示二、浮点表示2 2SS 如果数的阶码可以取不同的数值,称这种表如果数的阶码可以取不同的数值,称这种表示方法为数的示方法为数的浮点表示法浮点表示法。阶码阶码P P用二进制整数表示,可正可负。用一位二进用二进制整数表示,可正可负。用一位二进制数制数P Pf f表示阶码的符号位;表示阶码的符号位;尾数尾数S S,用,用S Sf f表示尾数的符号,表示尾数的符号,S Sf f0 0表示尾数为正;表示尾数为正;S Sf f
18、1 1表示尾数为负表示尾数为负.P Pf f S Sf f 阶码符号 阶码阶码阶码阶码 尾数符号 尾数尾数尾数尾数 2.6 2.6 带符号数的表示法带符号数的表示法 一、机器数与真值一、机器数与真值 在计算机中,为了区别正数或负数,是将数学上在计算机中,为了区别正数或负数,是将数学上的的“”“”“”符号数字化,规定符号数字化,规定1 1个字节中的个字节中的D7D7位为符位为符号位。在符号位中,用号位。在符号位中,用“0”0”表示正,表示正,“1”1”表示负,而表示负,而数字位表示该数的数值部分。数字位表示该数的数值部分。例如:例如:010110110101101191D91D 11011011
19、1101101191D91D 1 1个数(包括符号位)在机器中的一组二进制数表示形式,个数(包括符号位)在机器中的一组二进制数表示形式,称为称为“机器数机器数”,而把它所表示的值称为机器数的而把它所表示的值称为机器数的“真真值值”。二、机器数的种类和表示方法(一)原码(一)原码(一)原码(一)原码所谓数的原码表示,即符号位用所谓数的原码表示,即符号位用所谓数的原码表示,即符号位用所谓数的原码表示,即符号位用0 0 0 0表示正数,而用表示正数,而用表示正数,而用表示正数,而用1 1 1 1表示负数,表示负数,表示负数,表示负数,其余数字位表示数值本身其余数字位表示数值本身其余数字位表示数值本身
20、其余数字位表示数值本身。0原0 0 0 0 0 0 0 0 0原1 0 0 0 0 0 0 0对于负数对于负数对于负数对于负数 105 105 原原原原 1 1 1 0 1 0 0 11 1 1 0 1 0 0 1符号位符号位符号位符号位 数值本身数值本身数值本身数值本身 对于正数对于正数 105 原原 0 1 1 0 1 0 0 1符号位符号位 数值本身数值本身 注意:对于正数,三种表示法均相同,它们的差别仅在于对注意:对于正数,三种表示法均相同,它们的差别仅在于对注意:对于正数,三种表示法均相同,它们的差别仅在于对注意:对于正数,三种表示法均相同,它们的差别仅在于对负数的表示负数的表示负数
21、的表示负数的表示(二)反码 正数的反码表示与其原码相同,即符号位用“0”表示正,数字位为数值本身。负数的反码是将它的正数按位(包括符号位在内)取反负数的反码是将它的正数按位(包括符号位在内)取反负数的反码是将它的正数按位(包括符号位在内)取反负数的反码是将它的正数按位(包括符号位在内)取反而形成的。而形成的。而形成的。而形成的。“0 0 0 0”的反码有两种表示法:的反码有两种表示法:的反码有两种表示法:的反码有两种表示法:00000000000000000000000000000000表示表示表示表示0 0 0 0,11111111111111111111111111111111表示表示表示
22、表示0 0 0 0。8 8 8 8位二进制反码能表示的数值范围为位二进制反码能表示的数值范围为位二进制反码能表示的数值范围为位二进制反码能表示的数值范围为127D127D127D127D127D127D127D127D(三)补码(三)补码(三)补码(三)补码正数的补码与其原码相同;负数的补码表示为它的反码加正数的补码与其原码相同;负数的补码表示为它的反码加正数的补码与其原码相同;负数的补码表示为它的反码加正数的补码与其原码相同;负数的补码表示为它的反码加1 1 1 1(即在其低位加(即在其低位加(即在其低位加(即在其低位加1 1 1 1)8 8位二进制数补码表示也列入表位二进制数补码表示也列入
23、表2 2.5 5中。它有如下特点:中。它有如下特点:(1 1)0 0补补0 0补补0000000000000000(2 2)8 8位二进制补码所能表示的数值为位二进制补码所能表示的数值为127127128128。一个补码表示的数一个补码表示的数 补补10011011B10011011B =1100101110010111001011100101 (64646464323232324 4 4 41 1 1 1)101D101D101D101D补码加减法的运算规则补码加减法的运算规则补码加减法的运算规则补码加减法的运算规则n n通过引进补码,可将减法运算转换为加法运算。规则如通过引进补码,可将减法
24、运算转换为加法运算。规则如通过引进补码,可将减法运算转换为加法运算。规则如通过引进补码,可将减法运算转换为加法运算。规则如下:下:下:下:和:和:和:和:X+YX+YX+YX+Y补补补补=X=X=X=X补补补补+Y+Y+Y+Y补补补补 差差差差:X-Y:X-Y:X-Y:X-Y补补补补=X=X=X=X补补补补-Y-Y-Y-Y补补补补 或或或或 X-YX-YX-YX-Y补补补补=X=X=X=X补补补补+-Y+-Y+-Y+-Y补补补补 其中其中其中其中X X X X,Y Y Y Y为为为为正负数均可,符号位参与运算正负数均可,符号位参与运算正负数均可,符号位参与运算正负数均可,符号位参与运算X=XX
25、=X补补补补 补补补补四、溢出及其判断方法四、溢出及其判断方法四、溢出及其判断方法四、溢出及其判断方法溢出是指带符号数的补码运算运算结果超出表示范围。溢出是指带符号数的补码运算运算结果超出表示范围。溢出是指带符号数的补码运算运算结果超出表示范围。溢出是指带符号数的补码运算运算结果超出表示范围。解:X补=01111000,Y补=00001010,X补=0 0 1 1 1 1 0 0 0 +Y补=0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 X+Y补=10000010,X+Y的真值=-1111110=(-126)10 运算结果超出机器数值范围发
26、生溢出错误。运算结果超出机器数值范围发生溢出错误。运算结果超出机器数值范围发生溢出错误。运算结果超出机器数值范围发生溢出错误。8 8位计算机数值表达范围:位计算机数值表达范围:位计算机数值表达范围:位计算机数值表达范围:(-128+127)(-128+127)例:已知机器字长例:已知机器字长例:已知机器字长例:已知机器字长n=8n=8,X=120X=120,Y=10Y=10,求,求,求,求X+Y=X+Y=?溢出判断规则与判断方法溢出判断规则与判断方法两个相同符号数两个相同符号数相加,其运算结果符号与被加相加,其运算结果符号与被加数相同,若相反则产生溢出;数相同,若相反则产生溢出;两个相异符号数
27、两个相异符号数相减,其运算结果符号与被减相减,其运算结果符号与被减数相同,否则产生溢出。数相同,否则产生溢出。相同符号数相同符号数相减,相减,相异符号数相异符号数相加不会产生溢相加不会产生溢出。出。溢出判断方法:溢出判断方法:1.双符号法,双符号法,2.进位判断法进位判断法.双符号位溢出判断法双符号位溢出判断法 Sf1 Sf2 (也被称为变形补码)也被称为变形补码)双符号含义:双符号含义:00表示运算结果为正数;表示运算结果为正数;01表示运算结果正向溢出;表示运算结果正向溢出;10表示运算结果负向溢出;表示运算结果负向溢出;11表示运算结果为负数。表示运算结果为负数。亦即:亦即:OVR=Sf
28、1 Sf2 =1有溢出有溢出 OVR=Sf1 Sf2=0 无溢出无溢出 第一位符号位(高符号位)为运算结果的第一位符号位(高符号位)为运算结果的真正符号位。真正符号位。.进位溢出判断法进位溢出判断法 D6C D7C两单符号位的补码进行加减运算时,若两单符号位的补码进行加减运算时,若两单符号位的补码进行加减运算时,若两单符号位的补码进行加减运算时,若最高数值位向符最高数值位向符最高数值位向符最高数值位向符号位的进位值号位的进位值号位的进位值号位的进位值C C与与与与符号位产生的进位输出值符号位产生的进位输出值符号位产生的进位输出值符号位产生的进位输出值S S相同时则无相同时则无相同时则无相同时则无溢出,否则溢出。溢出,否则溢出。溢出,否则溢出。溢出,否则溢出。例:例:例:例:XX补补补补=1.1 0 1 X=1.1 0 1 X补补补补=1.1 1 0=1.1 1 0 +Y +Y补补补补=1.0 0 1 +Y=1.0 0 1 +Y补补补补=0.1 0 0=0.1 0 0 X+Y X+Y补补补补=10.1 1 0 X+Y=10.1 1 0 X+Y补补补补=10.0 1 0=10.0 1 0 D D6C6C=0,=0,D D7C7C=1,=1,有溢出有溢出有溢出有溢出 D D6C6C=1,=1,D D7C7C=1,=1,无溢出无溢出无溢出无溢出