《计算机数制-精品文档资料系列.ppt》由会员分享,可在线阅读,更多相关《计算机数制-精品文档资料系列.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章第一章 微型计算机的系统结构与工作原理微型计算机的系统结构与工作原理1.2.1.2.计算机中的数制与编码计算机中的数制与编码1.3.1.3.二进制数的运算二进制数的运算1.4.1.4.带符号数的表示及运算带符号数的表示及运算权:权:权:权:数制中每一位所具有的值。数制中每一位所具有的值。数制中每一位所具有的值。数制中每一位所具有的值。进位计数制进位计数制:按进位的方法进行计数,简称进位制。:按进位的方法进行计数,简称进位制。基数基数 :表示该进位制所用字符或数码的个数。:表示该进位制所用字符或数码的个数。1.2 1.2 计算机中的数制及编码计算机中的数制及编码1.2.1 1.2.1 常用
2、计数制常用计数制一般地,任意一个十进制数一般地,任意一个十进制数N都可以表示为:都可以表示为:N=Kn-110n-1+Kn-210n-2+K1101+K0100+K-110-1+K-210-2+K-m10-m=一、二,十,十六进制数一、二,十,十六进制数一、二,十,十六进制数一、二,十,十六进制数式中,式中,式中,式中,1010称为十进制数的基数,称为十进制数的基数,称为十进制数的基数,称为十进制数的基数,i i表示数的某一位,表示数的某一位,表示数的某一位,表示数的某一位,1010i i 称该位的权,称该位的权,称该位的权,称该位的权,KKi i表示第表示第表示第表示第i i位的数码。位的数
3、码。位的数码。位的数码。KKi i的范围为的范围为的范围为的范围为0909中的任中的任中的任中的任意一个数意一个数意一个数意一个数 1.有十个不同的数字符号:有十个不同的数字符号:0,1,2,9。2.遵循遵循“逢十进一逢十进一”原则。原则。十进制数的两个主要特点:十进制数的两个主要特点:十进制数的两个主要特点:十进制数的两个主要特点:整数部分整数部分小数部分小数部分设基数用设基数用R表示,则对于二进制,表示,则对于二进制,R=2,Ki为为0或或1,逢二进一。,逢二进一。N=对对于于十十六六进进制制,R=16,Ki为为09、A、B、C、D、E、F共共16个数码中的任意一个,逢十六进一。个数码中的
4、任意一个,逢十六进一。N=例例例例1101.001B=(1101.001)2=123+122+021+120+02-1+02-2+12-3=(13.125)10=13.125进位制有以下共同点:进位制有以下共同点:进位制有以下共同点:进位制有以下共同点:每种进位制都有一个确定的基数每种进位制都有一个确定的基数每种进位制都有一个确定的基数每种进位制都有一个确定的基数R R,每一位的系数,每一位的系数,每一位的系数,每一位的系数KKi i有有有有R R种可能的取值。种可能的取值。种可能的取值。种可能的取值。按按按按“逢逢逢逢R R进一进一进一进一”方式计数,在混合小数中,小数点右方式计数,在混合小
5、数中,小数点右方式计数,在混合小数中,小数点右方式计数,在混合小数中,小数点右移一位相当于乘以移一位相当于乘以移一位相当于乘以移一位相当于乘以R R,左移一位相当于除以,左移一位相当于除以,左移一位相当于除以,左移一位相当于除以R R。十进制数、二进制数、十六进制数之间的十进制数、二进制数、十六进制数之间的关系如下表所示关系如下表所示十进制二进制十六进制012345678012345678000000010010001101000101011001111000十进制二进制十六进制91011121314159ABCDEF1001101010111100110111101111一一在数的在数的右下
6、角注明数制右下角注明数制,例如例如2116、4310、10102。二二是在数的是在数的后面加上后面加上一些一些字母符号字母符号。通常十六进制用。通常十六进制用表示(如表示(如21),十进制用),十进制用D表示或不加字母符号表示或不加字母符号(如(如43D或或43),二进制用表示(如),二进制用表示(如1010)。)。数制的书写方法数制的书写方法数制的书写方法数制的书写方法:在使用微机时,经常需要进行数的各种不同在使用微机时,经常需要进行数的各种不同进制之间的转换。进制之间的转换。转转转转换换换换原原原原则则则则:两两两两个个个个有有有有理理理理数数数数相相相相等等等等,则则则则两两两两数数数数
7、的的的的整整整整数部分与小数部分分别相等。数部分与小数部分分别相等。数部分与小数部分分别相等。数部分与小数部分分别相等。1.2.1.2.进位数制之间的转换进位数制之间的转换二、十六进制数二、十六进制数二、十六进制数二、十六进制数 十进制数十进制数十进制数十进制数 这种转换只需将二、十六进制数按这种转换只需将二、十六进制数按这种转换只需将二、十六进制数按这种转换只需将二、十六进制数按位权展开位权展开位权展开位权展开。例例例例(110.01)(110.01)22=1=12 22 21 12 21 10 02 20 00 02 2-1-11 12 2-2-2=(6.25)=(6.25)1010(B2
8、C)(B2C)1616=11=1116162 22 216161 1121216160 0(2860)(2860)1010 2.2.十进制数十进制数十进制数十进制数 二、十六进制数二、十六进制数二、十六进制数二、十六进制数 1)整数转换整数转换方法:除方法:除2(倒倒)取余法。取余法。D N 125=N=125D=11111101BN=125D=11111101B 余数余数31212562215722231=K21=K31=K41=K51=K610221=K00=K1低位低位低位低位高位高位高位高位0=K72.小数转换小数转换方法:乘方法:乘2(顺顺)取整法取整法例如:将十进制数例如:将十进制
9、数0.81250.8125转换为二进制小数。转换为二进制小数。整个转换过程如下:整个转换过程如下:0.81250.8125 2 2 1.625 1.625 整数部分为整数部分为1 1,K K-1-11 1 高位高位 0.6250.625 2 2 1.25 1.25 整数部分为整数部分为1 1,K K-2-21 1 0.25 0.25 2 2 0.50 0.50 整数部分为整数部分为0 0,K K-3-30 0 0.50 0.50 2 2 1.0 1.0 整数部分为整数部分为1 1,K K-4-41 1 低位低位 所以所以转换结果果为:(0.8125)10(0.1101)2例例:将将(0.2)1
10、0 10 转换成二进制小数转换成二进制小数整数部分 0 0.2 2=0.4 00.4 2=0.8 00.8 2=1.6 10.6 2=1.2 10.2 2=0.4 00.4 2=0.8 00.8 2=1.6 10.6 2=1.2 1 (0.2)10=0.001100110011.2 如如果果出出现现乘乘积积的的小小数数部部分分一一直直不不为为“0”,则则可可以以根根据据精度的要求截取一定的位数即可。精度的要求截取一定的位数即可。推广:推广:推广:推广:将将将将十十十十进进进进制制制制数数数数转转转转换换换换为为为为N(N(二二二二、十十十十六六六六)进进进进制制制制数数数数时时时时,整整整整数
11、数数数与与与与小小小小数数数数分分分分别别别别按按按按“除除除除N N取取取取余余余余法法法法”与与与与“乘乘乘乘N N取取取取整法整法整法整法”进行转换。进行转换。进行转换。进行转换。而而而而N N进进进进制制制制数数数数转转转转换换换换为为为为十十十十进进进进制制制制数数数数均均均均可可可可按按按按位位位位权权权权展开相加得到。展开相加得到。展开相加得到。展开相加得到。【例例】将十进制整数(将十进制整数(23472347)1010转换为十六进制整数,采用转换为十六进制整数,采用“除除1616倒取余倒取余”的方法,过程如下:的方法,过程如下:16 16 2347 2347 16 16 146
12、 146 余数为余数为1111(十六进制数为(十六进制数为B B)16 16 9 9 余数为余数为2 2 0 0 余数为余数为9 9 所以,(所以,(23472347)1010(92B92B)1616 4 4位二进制数的组合恰好等于位二进制数的组合恰好等于015D这这1616个数值,个数值,可用可用1 1位十六进制数表示位十六进制数表示4 4位二进制数。位二进制数。3 3、二进制数与十六进制数之间的转换、二进制数与十六进制数之间的转换 二进制数的二进制数的整数部分整数部分要转换为十六进制数时要转换为十六进制数时 ,可以可以从小数点开始从小数点开始向左向左按按4 4位一组分成若干组,最高位一组位
13、一组分成若干组,最高位一组不足不足4 4位时,在左边加位时,在左边加0 0补足到补足到4 4位。位。二进制数的二进制数的小数部分小数部分可以从小数点开始可以从小数点开始向右向右按位按位一组分成若干组一组分成若干组,最低位一组不足最低位一组不足4 4位则在右边加位则在右边加0 0补足补足到到4 4位。位。一、数字的编码(一、数字的编码(一、数字的编码(一、数字的编码(BCDBCD码)码)码)码)BCD码是一种常用的数字编码。BCD码码:Binary-Coded Decimal,即二进制编码的十进制数。用 BCD表示。8421BCD编码,用编码,用4位二进制数表示位二进制数表示1位十进制位十进制数
14、,自左至右每一位对应的位权是数,自左至右每一位对应的位权是8、4、2、1。1.2.4二进制编码二进制编码1压缩压缩BCD码码每每一一位位十十进进制制数数用用4位位二二进进制制数数来来表表示示,即即一一个个字字节节可可表示表示2位十进制数。位十进制数。2非压缩非压缩BCD码码每每一一位位十十进进制制数数用用8位位二二进进制制数数来来表表示示,即即一一个个字字节节表表示示1位位十十进进制制数数。而而且且只只用用每每个个字字节节的的低低4位位来来表表示示09,高,高4位为位为0。例如:采用压缩与非压缩例如:采用压缩与非压缩BCD码表示十进制数码表示十进制数89D。10001001BCD0000100
15、000001001BCD0100 1001 0001.0101 1000BCD=491.580100 0011B=67D=0110 0111BCD BCD码与二进制之间通常要经过码与二进制之间通常要经过十进十进制制实现相互转换。实现相互转换。例例二、字符编码二、字符编码二、字符编码二、字符编码ASCII码是常用的字符编码。码是常用的字符编码。ASCII:American Standard Code for Information Interchange,即美国信息交换标准代码。ASCII 码用7位二进制编码表示数字、字母和符号。在字长8位微型计算机中,用低7位表示ASCII码,最高位D7可用作
16、奇偶校验位。“C”100 0011(七位ASCII码)1100 0011(带偶校验的8位编码)0100 0011(带奇校验的8位编码)例如例如例如例如:1.3 1.3 二进制数的运算二进制数的运算一、二进制数的算术运算一、二进制数的算术运算一、二进制数的算术运算一、二进制数的算术运算运算规则:运算规则:(1 1)0 00 00 0(2 2)0 01 11 1(3 3)1 11 10 0 进位进位1 1(4 4)1 11 11 11 1 进位进位1 1(一)二进制加法(一)二进制加法(一)二进制加法(一)二进制加法 运算规则:运算规则:(1)000(2)110(3)101(4)011 借位借位1
17、(二)二进制减法(二)二进制减法(二)二进制减法(二)二进制减法 可见,只有当两个可见,只有当两个1 1相乘时,积才为相乘时,积才为1 1,否则积为,否则积为0 0。例如:例如:被乘数被乘数 1 1 1 11 1 1 1 乘乘 数数 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 运算规则运算规则:(1 1)0 00 00 0(2 2)0 01 10 0(3 3)1 10 00 0(4 4)1 11 11 1(三)二进制
18、乘法(三)二进制乘法(三)二进制乘法(三)二进制乘法 二进制乘法的移位加法实现:二进制乘法的移位加法实现:被乘数左移被乘数左移部分积右移部分积右移除法是乘法的逆运算除法是乘法的逆运算。例如例如,用用100011100011除以除以101101。0 0 0 1 1 1 0 0 0 1 1 1 除数除数 101)1 0 0 0 1 1 101)1 0 0 0 1 1 被除数被除数 1 0 11 0 1 1 1 1 1 1 1 余数余数 1 0 11 0 1 1 0 1 1 0 1 余数余数 1 0 1 1 0 1 0 0 余数余数 (四)二进制除法(四)二进制除法二、二进制数的逻辑运算二、二进制数
19、的逻辑运算二、二进制数的逻辑运算二、二进制数的逻辑运算 逻辑运算包括逻辑运算包括4 4种基本运算:种基本运算:逻辑加法逻辑加法(或运算)、(或运算)、逻逻辑乘法辑乘法(与运算)、(与运算)、逻辑否定逻辑否定(非运算)和(非运算)和逻辑减法逻辑减法(异或(异或运算)。运算)。与运算通常用符号与运算通常用符号“”表示。表示。运算规则为运算规则为:01 010 0 读成读成0 0与与1 1等于等于0 0 10 100 0 读成读成1 1与与0 0等于等于0 0 11 111 1 读成读成1 1与与1 1等于等于1 1(一)与运算(一)与运算(一)与运算(一)与运算&(二)或运算(二)或运算 或运算通
20、常用符号或运算通常用符号“”表示。运算规则为表示。运算规则为 00000 0 读成读成0 0或或0 0等于等于0 0 01 011 1 读成读成0 0或或1 1等于等于1 1 10 101 1 读成读成1 1或或0 0等于等于1 1 11 111 1 读成读成1 1或或1 1等于等于1 1 在给定的逻辑变量中,只要有一个为在给定的逻辑变量中,只要有一个为1 1,或运算的结果,或运算的结果就为就为1 1;只有都为;只有都为0 0时,或运算的结果才为时,或运算的结果才为0 0。(三)非运算(三)非运算 非运算又称逻辑否定。它是在逻辑变量上方加一横线表非运算又称逻辑否定。它是在逻辑变量上方加一横线表
21、示非,其运算规则为示非,其运算规则为 读成读成非非0 0等于等于1 1 读成读成非非1 1等于等于0 011异或运算通常用符号异或运算通常用符号“”表示。它的运算规则为表示。它的运算规则为 0 00 00 0 读成读成0 0同同0 0异或异或,结果为,结果为0 0 0 01 11 1 读成读成0 0同同1 1异或异或,结果为,结果为1 1 1 10 01 1 读成读成1 1同同0 0异或异或,结果为,结果为1 1 1 11 10 0 读成读成1 1同同1 1异或异或,结果为,结果为0 0 两个逻辑变量相同,则异或运算的结果就为两个逻辑变量相同,则异或运算的结果就为0;0;当两个当两个逻辑变量不
22、同时,异或运算的结果才为逻辑变量不同时,异或运算的结果才为1 1。(四)异或运算(四)异或运算(四)异或运算(四)异或运算 注意注意:当两个多位逻辑变量之间进行逻辑运算时,只在对当两个多位逻辑变量之间进行逻辑运算时,只在对应位之间按上述规则进行运算,不同位之间不发生任何关应位之间按上述规则进行运算,不同位之间不发生任何关系,没有算术运算中的进位或借位关系。系,没有算术运算中的进位或借位关系。在计算机中,将数学上的在计算机中,将数学上的“”“”符号数字化符号数字化,规定规定字节的字节的D7位为符号位位为符号位,用,用“0”表示正,表示正,“1”表示负表示负;D0D6位为数字位,表示该数的数值部分
23、。位为数字位,表示该数的数值部分。一、机器数与真值一、机器数与真值一、机器数与真值一、机器数与真值例如:例如:0101101191D1101101191D我们把我们把1个数(包括符号位)在计算机中的一组二进个数(包括符号位)在计算机中的一组二进制数表示形式,称为制数表示形式,称为“机器数机器数”,而把它所表示的值称为而把它所表示的值称为机器数的机器数的“真值真值”。1.4 1.4 带符号数的表示及运算带符号数的表示及运算二、带符号数的三种表示方法二、带符号数的三种表示方法二、带符号数的三种表示方法二、带符号数的三种表示方法1.原码原码最高位为符号位0 正数1 负数+4原=0 000 0100B
24、4原=1 000 0100B 后面后面n-1 1位是数值。位是数值。原码的特点:原码的特点:原码的特点:原码的特点:(1)数值部分即为该带符号数的二进制值。(2)“0”有+0和-0之分,若字长为八位,则:(+0)原0 0000000,(0)原1 0000000(3)8位二进制原码能表示的数值范围为:0111111111111111,即+127127。2.反码反码+5原=+5反=0 000 0101B5原=1 000 0101B 正数的反码与其原码相同。正数的反码与其原码相同。负数的反码除符号位外将原码求反。负数的反码除符号位外将原码求反。5反=1 111 1010B 反码的特点:反码的特点:反
25、码的特点:反码的特点:(1)“0”有有+0和和-0之分。之分。(2)8位二进制反码所能表示的数值范围为位二进制反码所能表示的数值范围为+127127,一般地,一般地,对于于n位字位字长的的计算机来算机来说,其反,其反码表示表示的数的数值范范围为+2n-112n-1+1。(3)8位位带带符号数用反符号数用反码码表示表示时时,若最高位,若最高位为为“0”(正数)(正数)则则后面的后面的7位即位即为为数数值值;若最高位;若最高位为为“1”(负负数),数),则后面后面7位表示的不是此位表示的不是此负数的数数的数值,必,必须把它把它们按按位取反,才是位取反,才是该负数的二数的二进制制值。例如例如:一个一
26、个8位二进制反码表示的数位二进制反码表示的数10010100B。它是一。它是一个负个负数;但它并不等于数;但它并不等于20D,而应先将其数字,而应先将其数字位按位取反,然后才能得出此二进制数反码所表位按位取反,然后才能得出此二进制数反码所表示的真值示的真值:1101011(1261251231211)(643283)107D3.补码补码正数的补码与其原码相同。正数的补码与其原码相同。负数的补码是其反码负数的补码是其反码+1,即相应正数按位求,即相应正数按位求反后在末位加反后在末位加1。微机中都是采用补码表示法微机中都是采用补码表示法,因为用补码法以,因为用补码法以后,同一加法电路既可以用于有符
27、号数相加,也可后,同一加法电路既可以用于有符号数相加,也可以用于无符号数相加,而且减法可用加法来代替。以用于无符号数相加,而且减法可用加法来代替。5原=1000 0101B 5反=1111 1010B 5补=1111 1011B 4补 0 0000100 31补 0 0011111 +127补 0 1111111 符号位数值本身 4补 1 1111100 31补 1 1100001 127补 1 0000001 符号位 数值位补码的特点:补码的特点:补码的特点:补码的特点:(1)+0补补0补补00000000,无,无+0和和0之分。之分。(2)8位二进制补码所能表示的数值范围为位二进制补码所能
28、表示的数值范围为+127128;同;同理可知,理可知,n位二进制补码表示的范围为位二进制补码表示的范围为+2n-112n-1。在。在原码、反码和补码三者中,只有补码可以表示原码、反码和补码三者中,只有补码可以表示2n-1。(3)一个用补码表示的二进制数,当为正数时,最高位一个用补码表示的二进制数,当为正数时,最高位(符符号位号位)为为“0 0”,其余位即为此数的二进制值;当为负数时,其余位即为此数的二进制值;当为负数时,最高位最高位(符号位符号位)为为“1 1”,其余位不是此数的二进制值,其余位不是此数的二进制值,必须把它们按位取反,且在最低位加必须把它们按位取反,且在最低位加1 1,才是它的
29、二进制,才是它的二进制值。值。例如例如一个一个补码补码表示的数表示的数补补10011011B它是一个它是一个负负数。但它并不等于数。但它并不等于27D,它的数,它的数值为值为:将数:将数字位字位0011011按位取反得到按位取反得到1100100,然后再加,然后再加1,即,即为为1100101。=11001011100101(126126125125122122120120(646432324 41 1)101D101D故故故故典型典型8 8位二进制数的码值位二进制数的码值 数值数值原码原码反码反码补码补码 1271277FH7FH7FH7FH7FH7FH 126 1267EH7EH7EH7E
30、H7EH7EH 1 101H01H01H01H01H01H 0 000H/80H00H/80H00H/0FFH00H/0FFH00H00H -1 -181H81H0FEH0FEH0FFH0FFH -2 -282H82H0FDH0FDH0FEH0FEH -127 -1270FFH0FFH80H80H81H81H -128 -128/80H80H4 4、补码的加法和减法:、补码的加法和减法:、补码的加法和减法:、补码的加法和减法:(1)求补运算求补运算:对一个二进制数按位求反(连:对一个二进制数按位求反(连同符号位)后在末位加同符号位)后在末位加1的运算。的运算。4补 =0000 0100B 4补
31、 =1111 1100B 4补求补=0000 0100B补 补 求补补 求补4补 4补 求补4补 求补1补=1111 1111B=FFH例例:机器字长为8位,求N=1的补码表示。按位求反 1111 1110B 末位+1 1111 1111B +1补=0000 0001B(2)补码的加法规则:补码的加法规则:x+y补=x补+y补 xy补=x补+y补 补码的减法规则:补码的减法规则:例例.计算 y=99 58 (用8位二进制表示)99 58=99+(58)=41 y补 =99 58补=99补+58补 0110001199补+11000110 58补 99补 =0110 0011B 58补=1100
32、 0110B y=y补=0010 1001B=41 1 0010100141补 自动丢失自动丢失例.机器字长为8位。25 3225补=0001 1001B 32补=1110 0000B 十进制 7 7补=1111 1001B 二进制0001 10011110 00001111 1001+57 25 32 25补=1110 0111B 32补=1110 0000B 57补=1100 0111B 1110 01111110 00001 1100 0111+自动丢失自动丢失5.溢出的概念溢出的概念8位二进制补码表示数的范围:128 +127 n位二进制补码表示数的范围:2n1 +(2n1 1)若运算
33、结果超过了字长一定的机器所能表示数的范围,称为溢出溢出。此时运算结果出错。例1.令令令令C CS S为数值部分向符号位的进位,为数值部分向符号位的进位,为数值部分向符号位的进位,为数值部分向符号位的进位,C CS+1S+1为符号位为符号位为符号位为符号位向高位的进位,此例中向高位的进位,此例中向高位的进位,此例中向高位的进位,此例中,C CS SC CS+1S+10 0,结果在,结果在,结果在,结果在8 8位二进位二进位二进位二进制补码表示范围内,没有溢出。制补码表示范围内,没有溢出。制补码表示范围内,没有溢出。制补码表示范围内,没有溢出。0000111101110000+01111111+1
34、5+112+127 00CS+1CS例2.此例中,此例中,此例中,此例中,C Cs sC CS+S+1 1,产生了错误的结果,产生了错误的结果,产生了错误的结果,产生了错误的结果,发生发生发生发生了溢出。了溢出。了溢出。了溢出。0111111000000101+10000011+126+5 12501CS+1CS0111111100000101+10000100+127+5 124 例3.CS1,CS10,结果溢出!结果溢出!结果出错。结果出错。1000010011111011+01111111+127 5 124 例4.CS0,CS11,结果溢出!结果溢出!1因为CS=CS1,则结果正确。CS CS1,则结果溢出。所以 溢出溢出=CS CS1结果出错。结果出错。