版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、主讲教师:胡晓娟2l理解进位记数制的基本特点。理解进位记数制的基本特点。l熟练掌握各种进位记数制之间相互转换的方法。熟练掌握各种进位记数制之间相互转换的方法。l掌握常用的掌握常用的8421BCD编码和编码和ASCII编码。编码。l熟练掌握二进制数的各种算术运算与逻辑运算方法。熟练掌握二进制数的各种算术运算与逻辑运算方法。l理解数的定点和浮点表示法。理解数的定点和浮点表示法。l理解和熟练掌握补码及其运算与溢出。理解和熟练掌握补码及其运算与溢出。3第二章第二章 微机运算基础微机运算基础l2.1 进位记数制进位记数制l2.2 各种进位数制之间的转换各种进位数制之间的转换l2.3 二进制编码二进制编码
2、l2.4 二进制数的运算二进制数的运算l2.5 数的定点与浮点表示数的定点与浮点表示l2.6 带符号数的表示法带符号数的表示法4第二章第二章 微机运算基础微机运算基础计算机最基本的功能是进行大量计算机最基本的功能是进行大量“数数”的计算与加的计算与加工处理,但计算机只能工处理,但计算机只能“识别识别”二进制数。所以,二进制数。所以,二进制数及其编码是所有计算机的基本语言。在微二进制数及其编码是所有计算机的基本语言。在微机中还采用了八进制和十六进制表示法,它们用二机中还采用了八进制和十六进制表示法,它们用二进制数表示和处理非常方便。进制数表示和处理非常方便。5进位记数制是指按进位的方法来进行计数
3、,简称进位记数制是指按进位的方法来进行计数,简称进位制进位制。在进位记数制中,经常要用在进位记数制中,经常要用“基数基数”(或称底数)来区别(或称底数)来区别不同的数制,而某进位制的基数就是表示该进位制所用字不同的数制,而某进位制的基数就是表示该进位制所用字符或数码的个数。如十进制数共用符或数码的个数。如十进制数共用 09 十个数码表示数的十个数码表示数的大小,故其基数为大小,故其基数为10。为区分不同的数制,可在数的下标注明基数。如为区分不同的数制,可在数的下标注明基数。如6553510表表示以示以10为基数的数制,它是每计满十便向高位进一,即为基数的数制,它是每计满十便向高位进一,即“逢十
4、进一逢十进一”;当基数为;当基数为M时,便是时,便是“逢逢M进一进一”。6l一个十进制数中的每一位都具有其特定的权,称为一个十进制数中的每一位都具有其特定的权,称为位权位权或或简称简称权权。就是说,对于同一个数码在不同的位它所代表的。就是说,对于同一个数码在不同的位它所代表的数值就不同。数值就不同。l例如,例如,999.99这个十进制数可以写为:这个十进制数可以写为:999.99910291019100910-1910-2其中,每个位权由基数的其中,每个位权由基数的n次幂来确定。次幂来确定。l在十进制中,整数的位权是在十进制中,整数的位权是100(个位)、(个位)、101(十位)、(十位)、1
5、02(百位)等;小数的位权是(百位)等;小数的位权是10-1(十分位)、(十分位)、10-2(百分(百分位)等。上式称为按位权展开式。位)等。上式称为按位权展开式。7 十进制的基数为十进制的基数为10,数码的个数等于基数,即共有,数码的个数等于基数,即共有10个不同的数码:个不同的数码:0,1,2,,8,9。 进位时进位时“逢十进一逢十进一”。即在记数时,每一次记到。即在记数时,每一次记到 10 就往左进一位,上一位(左)的权是下一位(右)就往左进一位,上一位(左)的权是下一位(右)的权的的权的10倍。倍。8l进位计数制中最简单的是二进制,它只包括进位计数制中最简单的是二进制,它只包括“0”和
6、和“1”两两个不同的数码,即基数为个不同的数码,即基数为2,进位原则是,进位原则是“逢二进一逢二进一”。l例如,二进制数例如,二进制数1101.11相当于十进制数的相当于十进制数的12312202112012-112-284 0 10.50.2513.7510l二进制数各位的权分别为二进制数各位的权分别为8、4、2、1、0.5、0.25。将二进。将二进制数化为十进制数,是把二进制的每一位数字乘以该位的制数化为十进制数,是把二进制的每一位数字乘以该位的权然后相加得到(实际上只需要将为权然后相加得到(实际上只需要将为1的各位的权相加即的各位的权相加即可)。可)。9 它的数值部分只需用两个数码它的数
7、值部分只需用两个数码“0”和和 “1”来表示。来表示。 二进制的基数是二进制的基数是2,当记数时,它是,当记数时,它是“逢二进一逢二进一”,即上一位(左)的权是下一即上一位(左)的权是下一 位(右)的权的位(右)的权的 2 倍。倍。10l八进制数也是微机中常用的一种进位制,其主要特点八进制数也是微机中常用的一种进位制,其主要特点是:是: 基数为基数为8,用,用07八个不同的数码来表示数值。八个不同的数码来表示数值。 当记数时,它是当记数时,它是“逢八进一逢八进一”,即上一位(左)的权,即上一位(左)的权是下一位(右)的权的是下一位(右)的权的8倍。倍。11l十六进位计数制是微机中最常用的一种进
8、位制。它的十六进位计数制是微机中最常用的一种进位制。它的基数是基数是16,即由,即由16个不同的数码符号组成。除了个不同的数码符号组成。除了09十个数字外,还用字母十个数字外,还用字母A、B、C、D、E、F分别表分别表示数示数10、11、12、13、14、15。l十六进制的主要特点是:十六进制的主要特点是: 基数为基数为16,用,用16个不同的数码符号个不同的数码符号09和和AF来表示来表示数值。数值。 “逢十六进一逢十六进一”,即上一位(左)的权是下一位(右),即上一位(左)的权是下一位(右)的权的的权的16倍。倍。12l对任意一种进位记数制,对任意一种进位记数制,其记数可用正整数其记数可用
9、正整数b表示,表示,这时,数这时,数N的按位权展开的按位权展开式的一般通式如下:式的一般通式如下:式中,式中,lki为第为第i位的数码;位的数码;lb为基数;为基数;lbi为第为第i位的权;位的权;ln为整数的总位数;为整数的总位数;lm为小数的总位数。为小数的总位数。-1miii nNkb 十六进制十进制八进制二进制0123456789ABCDEF0123456789101112131415012345671011121314151617000000010010001101000101011001111000100110101011110011011110111113 在数的右下角注明数制在
10、数的右下角注明数制,例如,例如2116、4310、658、10102分别分别表示为十六进制的表示为十六进制的21,十进制的,十进制的43,八进制的,八进制的65和二进制和二进制的的1010。 在数的后面加上一些字母符号在数的后面加上一些字母符号。通常十六进制用。通常十六进制用H 表示,十进制用表示,十进制用D表示或不加字母符号,八进制用表示或不加字母符号,八进制用Q表示,表示,二进制用二进制用B表示。例如表示。例如21H、43D或或43、65Q、 1010B。 在数的前面加上一些符号在数的前面加上一些符号。如十六进制用。如十六进制用$表示,二进制表示,二进制用用%表示。例如表示。例如$ 21、
11、% 101014八进制数八进制数二进制数二进制数十六进制数十六进制数b(基数)(基数)进制数进制数十进制数十进制数3位合位合1位位4位合位合1位位1位分位分4位位1位分位分3位位按位权展开式按位权展开式十进制数转换十进制数转换为为b进制进制图图2.1 各种进位数制之间转换的综合表各种进位数制之间转换的综合表15【例例2.1】 将二进制数将二进制数1011.101B转换成十进制数。转换成十进制数。 1011.101B = 12302212112012-102-2 12-3 = 80210.500.125 = 11.625D【例例2.2】 将十六进制数将十六进制数FFFE.4H转换为十进制数。转换
12、为十进制数。 FFFE.4H = F163F162F161E160416-1 = 65534.25Dl任一非十进制数转换为十进制数的基本方法:先将该数任一非十进制数转换为十进制数的基本方法:先将该数按位权展开式逐项计算,再按十进制运算规则求和。按位权展开式逐项计算,再按十进制运算规则求和。16l对任一个十进制数转换为非十进制数分成整数和小数对任一个十进制数转换为非十进制数分成整数和小数两部分,即分别转换后再以小数点为界合并起来。两部分,即分别转换后再以小数点为界合并起来。 整数部分采用整数部分采用“除以基数取余除以基数取余”方法(直至商为方法(直至商为0,余数按先后顺序从低位到高位排列)。余数
13、按先后顺序从低位到高位排列)。 小数部分采用小数部分采用“乘基数取整乘基数取整”的方法。的方法。17【例例2.3】 将十进制整数将十进制整数 175 转换成二进制整数。转换成二进制整数。2商商0 1 2 5 10 21 43 87 175余数余数 1 0 1 0 1 1 1 1K7 K6 K5 K4 K3 K2 K1 K0最高位最高位最低位最低位其转换结果为:其转换结果为:175D = K7K6K5K4K3K2K1K0 = 1010 1111B18 将十进制数除以将十进制数除以2,并记下余数;,并记下余数; 将所得的商再除以将所得的商再除以2,并记下余数,如此重复,直至,并记下余数,如此重复,
14、直至商为商为0; 收集所得到的余数,以第收集所得到的余数,以第1位余数作为整数的最低有位余数作为整数的最低有效位效位K0,最后得到的余数为最高有效位,最后得到的余数为最高有效位Kn-1,中间的,中间的余数顺次收集。余数顺次收集。2商商余数余数19【例例2.4】 将十进制小数将十进制小数 0.625 转换成二进制小数。转换成二进制小数。20.625 0.25 0.5 0 1 0 1K-1 K-2 K-3整数部分整数部分其转换结果为:其转换结果为:0.625D = 0. K-1K-2K-3 = 0.101B20 不断用不断用2去乘十进制小数,将每次去乘十进制小数,将每次所得的溢出数(即整数所得的溢
15、出数(即整数1或或0)依次)依次记为记为K-1,K-2,。2小数部分小数部分整数部分整数部分 若乘积的小数部分最后一次乘积为若乘积的小数部分最后一次乘积为0,则对后一次乘积的,则对后一次乘积的整数部分记为整数部分记为K-m ,则该十进制小数转换为二进制形式为,则该十进制小数转换为二进制形式为 0. K-1K-2 K-m 若十进制小数不能用有限的二进制小数精确表示,即乘若十进制小数不能用有限的二进制小数精确表示,即乘积永远不为积永远不为0,则可根据精度要求取,则可根据精度要求取m位,得到十进制小位,得到十进制小数的近似表达式。数的近似表达式。21【例例2.5】 将十进制数将十进制数 1192.
16、9032转换成十六进制数。转换成十六进制数。最后转换结果为:最后转换结果为:1192.9032D = 4A8. E738H160 4 74 1192余数余数 4 A 8 K2 K1 K0商商整数部分整数部分“除以除以16 取余取余”:小数数部分小数数部分“乘乘16 取整取整”:160.9032 0.4512 0.2192 0.5072 0.1152 E 7 3 8K-1 K-2 K-3 K-4最高位最高位最低位最低位1192D = 4A8H0.9032D = 0.E738H22l由于由于3位二进制数的组合恰好等于位二进制数的组合恰好等于0 7这这8个数值,所以能够个数值,所以能够用用3位二进制
17、数表示位二进制数表示1位八进制数。位八进制数。l将二进制数转换为八进制数时,整数部分从小数点开始向左,将二进制数转换为八进制数时,整数部分从小数点开始向左,每每3位分为一组,若最高位所在的组不足位分为一组,若最高位所在的组不足3位,则在最高位的位,则在最高位的左边加左边加0补足到补足到3位;小数部分从小数点开始向右,每位;小数部分从小数点开始向右,每3位分位分为一组,若最低位所在的组不足为一组,若最低位所在的组不足3位,则在最低位的右边加位,则在最低位的右边加0补足到补足到3位,然后每位,然后每3位二进制数用相应的八进制数表示。位二进制数用相应的八进制数表示。3 位合位合 1 位位二进制数二进
18、制数八进制数八进制数1 位分位分 3 位位 23【例例】 将二进制数将二进制数 10101001. 01101011B转换成八进制数。转换成八进制数。最后转换结果为:最后转换结果为: 10101001. 01101011B = 251.326Q10101001B = 010 101 001 B2 5 1补零补零0.01101011B = 0.011 010 110 B3 2 6补零补零整数部分:整数部分:小数部分:小数部分:24【例例2.8】 将八进制数将八进制数 352.14Q 转换成二进制数。转换成二进制数。 转换结果为:转换结果为: 352.14Q = 011 101 010. 001
19、100B = 11101010.0011B3 5 2 . 1 4011 101 010 . 001 100二进制数二进制数八进制数八进制数25l由于由于4位二进制数的组合恰好等于位二进制数的组合恰好等于0 15这这16个数值,所个数值,所以可用以可用4位二进制数表示位二进制数表示1位十六进制数。位十六进制数。l一个二进制数转换为十六进制数时,整数部分可从小数一个二进制数转换为十六进制数时,整数部分可从小数点开始向左按点开始向左按4位分为若干组,最高位所在的组不足位分为若干组,最高位所在的组不足4位,位,在左边加在左边加0补足到补足到4位;小数部分可从小数点开始向右按位;小数部分可从小数点开始向
20、右按4位分为若干组,最低位所在的组不足位分为若干组,最低位所在的组不足4位,在右边加位,在右边加0补补足到足到4位,然后将每一组的位,然后将每一组的4位二进制数用相应的十六进位二进制数用相应的十六进制数表示即转换为十六进制数。制数表示即转换为十六进制数。4 位合位合 1 位位二进制数二进制数十六进制数十六进制数1 位分位分 4 位位 26【例例2.9】将二进制数将二进制数 110100110. 110101B转换成十六进制数。转换成十六进制数。转换结果为:转换结果为: 110100110. 110101B = 1A6.D4H0001 1010 0110 . 1101 01001 A 6 . D
21、 4十六进制数十六进制数二进制数二进制数【例例2.10】将十六进制数将十六进制数 C8F. 49H 转换成二进制数。转换成二进制数。转换结果为:转换结果为: C8F.49H = 1100 1000 1111. 0100 1001B1100 1000 1111 . 0100 1001C 8 F . 4 9十六进制数十六进制数二进制数二进制数27由于计算机只能识别二进制数,因此输入的信息,由于计算机只能识别二进制数,因此输入的信息,如数字、字母、符号、声音、图像等都要转化成由如数字、字母、符号、声音、图像等都要转化成由若干位若干位0、1组合的特定二进制码来表示,这就是组合的特定二进制码来表示,这就
22、是二二进制编码进制编码。【注意注意】前面讨论的二进制数称为前面讨论的二进制数称为纯二进制代码纯二进制代码,它与其它类型的二进制代码是有区别的。它与其它类型的二进制代码是有区别的。28l虽然在计算机中采用的是二进制信息,但人们并不熟悉虽然在计算机中采用的是二进制信息,但人们并不熟悉二进制,在计算机输入和输出时,通常采用十进制数来二进制,在计算机输入和输出时,通常采用十进制数来表示,因此要用到十进制数的二进制编码。表示,因此要用到十进制数的二进制编码。l8421 BCD 码有码有10个不同的数字符号,由于它是逢个不同的数字符号,由于它是逢“十十”进进位的,所以,它是十进制;同时,它的每一位是用位的
23、,所以,它是十进制;同时,它的每一位是用4位二位二进制编码来表示的进制编码来表示的,所以称之为二进制编码的十进制,所以称之为二进制编码的十进制,即即二二十进制码十进制码或或BCD(Binary Code Decimal)码)码。29【注意注意】4 位码仅有位码仅有10个数有效,表示十进制数个数有效,表示十进制数1015的的4位二进制数在位二进制数在BCD数制中是无效的。数制中是无效的。十进制数8421BCD编码101112131415161718190001 00000001 00010001 00100001 00110001 01000001 01010001 01100001 01110
24、001 10000001 1001十进制数8421 BCD编码01234567890000000100100011010001010110011110001001表表2.2 BCD编码表编码表30【例例2.11】将十进制数将十进制数 256. 794 用用BCD码表示。码表示。结果为:结果为: 256.794 =(0010 0101 0110. 0111 1001 0100)BCD 0010 0101 0110 . 0111 1001 01002 5 6 . 7 9 4BCD 码码十进制数十进制数【例例2.13】将(将(0110 0010 1000. 1001 0101 0100)BCD码码
25、转换转换成相应的十进制数。成相应的十进制数。(0110 0010 1000. 1001 0101 0100)BCD = 628.954D31【例例2.14】将二进制数将二进制数 1011. 01B转换成相应的转换成相应的BCD码。码。二进制转换成十进制:二进制转换成十进制:1011.01B = 12302212112002-112-2 = 8 0 2 1 0 0.25 = 11.25D十进制转换成十进制转换成BCD码:码: 11.25D = (0001 0001. 0010 0101)BCD结果为:结果为: 1011.01B = (0001 0001. 0010 0101)BCD【注意注意】十
26、进制与十进制与BCD码之间的转换是直接的,而二进制与码之间的转换是直接的,而二进制与BCD码之间的转换不能直接实现,必须先转换为十进制。码之间的转换不能直接实现,必须先转换为十进制。32BCD码在计算机中有两种存储形式:压缩码在计算机中有两种存储形式:压缩BCD码和非压缩码和非压缩BCD码码l 对压缩对压缩BCD码,在一个字节的存储单元中存放码,在一个字节的存储单元中存放 2 个个BCD码;码;l 对非压缩对非压缩BCD码,在一个字节的存储单元中存放码,在一个字节的存储单元中存放 1个个BCD码。码。【例例2.13】将将13.25D 用压缩用压缩BCD码和非压缩码和非压缩BCD码两种形式表码两
27、种形式表示出来。示出来。13.25D 的压缩的压缩BCD码为:码为:0001 0011. 0010 010113.25D 的非压缩的非压缩BCD码为:码为:0000 0001 0000 0011. 0000 0010 0000 010133 字母和各种字符在计算机内是按特定的规则用二进制编码字母和各种字符在计算机内是按特定的规则用二进制编码表示的,这些编码有各种不同的方式。表示的,这些编码有各种不同的方式。 目前在微机、通讯设备和仪器仪表中广泛使用的是美国标目前在微机、通讯设备和仪器仪表中广泛使用的是美国标准信息交换码(准信息交换码(American Standard Code for Inf
28、ormation Interchange ,ASCII )。)。 7位位ASCII代码能表示代码能表示27128种不同的字符,其中包括数码种不同的字符,其中包括数码(09),英文大、小写字母,标点和控制的附加字符。),英文大、小写字母,标点和控制的附加字符。 7位位ASCII码是由高码是由高3位一组和低位一组和低4位一组组成的。位一组组成的。位6位5位4位3位2位1位0高高3位组位组低低4位组位组34 数码数码 09 的的ASCII码:码: 30H 39H 大写字母大写字母 A Z :41H 5AH 小写字母小写字母 a z :61H 7AH35一种数制可进行两种基本的算术运算:加法和减法。利
29、用一种数制可进行两种基本的算术运算:加法和减法。利用加法和减法可以进行乘法、加法和减法可以进行乘法、 除法以及其它数值运算。除法以及其它数值运算。1.1.二进制加法二进制加法二进制加法的运算规则:二进制加法的运算规则:000011110 进位进位11111 进位进位136【例例2.16】计算计算 1101 和和 1011 两数的和。两数的和。【例例2.17】计算两个计算两个8位数位数 10001111B和和10110101B的和。的和。1 1 1 1 0 1 1 0 1+ 1 0 1 11 1 0 0 0进位进位被加数被加数加数加数和和两个二进制数相加时,每两个二进制数相加时,每1列有列有3个
30、个数,即相加的两个数以及低位的进数,即相加的两个数以及低位的进位,用二进制的加法规则相加后得位,用二进制的加法规则相加后得到本位的和以及向高位的进位。到本位的和以及向高位的进位。1 0 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1+ 1 0 1 1 0 1 0 11 0 1 0 0 0 1 0 0进位进位被加数被加数加数加数和和【注意注意】两个两个8位二进制数相加位二进制数相加后,第后,第9位出现了一个位出现了一个“1”代表进代表进位位,如果进位位不用高位位,如果进位位不用高8位存储位存储单元来保存,将会自然丢失。单元来保存,将会自然丢失。372. 2. 二进制减法二进制减法二进
31、制减法的运算规则:二进制减法的运算规则:0 - - 001 - - 101 - - 01 0 - - 11 借位借位1【例例2.18】计算计算 11011B 和和 1101B 的差。的差。0 10 10 1 1 1 1 0 1 1- - 1 1 0 11 1 1 0借位后的被减数借位后的被减数被减数被减数减数减数差差 “借位后的被减数借位后的被减数”是指产是指产生借位后每位被减数的值。生借位后每位被减数的值。 “用借位后的被减数用借位后的被减数”逐列逐列地减去减数即得差。地减去减数即得差。【注意注意】二进制的二进制的 “10”等于等于十进制的十进制的2。38【例例2.20】计算计算 11101
32、110B 和和 10111010B 的差。的差。1 0 10 10 1 1 1 1 1 1 1 0 1 1 1 0- - 1 0 1 1 1 0 1 00 0 1 1 0 1 0 0借位后的被减数借位后的被减数被减数被减数减数减数差差【例例2.19】计算计算 11000100B 和和 00100101B 的差。的差。1 0 1 1 1 1 10 1 101 1 0 0 0 1 0 0 - - 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 借位后的被减数借位后的被减数被减数被减数减数减数差差【注意注意】微机一般以微机一般以8位数进行减法,若被位数进行减法,若被减数、减数、差值中
33、减数、减数、差值中的有效位不足的有效位不足8位,应位,应补补0以保持以保持8位数。位数。393. 3. 二进制乘法二进制乘法二进制乘法的运算规则:二进制乘法的运算规则:0 000 101 00 1 11【例例2.21】计算计算 1111B 和和 1101B 的乘积。的乘积。1 1 1 1 1 1 0 11 1 1 10 0 0 0 01 1 1 1 0 01 1 1 1 0 0 01 1 0 0 0 0 1 1被乘数被乘数乘数乘数积积【说明说明】用乘数的每一用乘数的每一位分别去乘被乘数,乘位分别去乘被乘数,乘得的各中间结果的最低得的各中间结果的最低有效位与相应的乘数位有效位与相应的乘数位对齐,
34、最后把这些中间对齐,最后把这些中间结果同时相加即得积。结果同时相加即得积。40【例例】采用被乘数左移加部分积的方法计算采用被乘数左移加部分积的方法计算 1111B 和和 1101B 的的乘积。乘积。部分积部分积0 0 0 0 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 0 01 0 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 乘乘 数数1 1 0 1微机中常采用移位和加法操作来实现二进制乘法运算。微机中常采用移位和加法操作来实现二进制乘法运算。被乘数被乘数1 1 1 11 1 1 1 01 1 1 1 0 01 1 1 1 0 0 0 部分
35、积初始值部分积初始值被乘数被乘数部分积部分积部分积部分积左移的被乘数左移的被乘数部分积部分积左移的被乘数左移的被乘数最终乘积最终乘积41被乘数左移加部分积的方法实现被乘数左移加部分积的方法实现1111B 和和 1101B乘积乘积运算的步骤:运算的步骤: 乘数最低有效位为乘数最低有效位为1,把被乘数加至部分积(其初值为,把被乘数加至部分积(其初值为0)上,然后把被乘数左移上,然后把被乘数左移1位;位; 乘数次低位为乘数次低位为 0,不加被乘数,然后把被乘数左移,不加被乘数,然后把被乘数左移1位;位; 乘数为乘数为1,把已左移的被乘数加至部分积,然后把被乘数,把已左移的被乘数加至部分积,然后把被乘
36、数左移左移1位;位; 乘数为乘数为 1,把已左移的被乘数加至部分积得最终乘积。,把已左移的被乘数加至部分积得最终乘积。【例例】采用部分积右移加被乘数的方法计算采用部分积右移加被乘数的方法计算 1111B 和和 1101B 的的乘积。乘积。42 部分积部分积 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 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 1被乘数被乘数1 1 1 1初值初值被乘数被乘数部分积部分积右移的部分积右移的
37、部分积右移的部分积右移的部分积被乘数被乘数部分积部分积右移的部分积右移的部分积被乘数被乘数部分积部分积最终乘积最终乘积43部分积右移加被乘数的方法实现部分积右移加被乘数的方法实现1111B 和和 1101B乘积乘积运算的步骤:运算的步骤: 乘数最低位为乘数最低位为1,把被乘数加至部分积(其初值为,把被乘数加至部分积(其初值为0),然),然后部分积右移后部分积右移1位;位; 乘数次低位为乘数次低位为 0,不加被乘数,部分积右移,不加被乘数,部分积右移1位;位; 乘数为乘数为 1,加被乘数,部分积右移,加被乘数,部分积右移1位;位; 乘数为乘数为 1,加被乘数,部分积右移,加被乘数,部分积右移1位
38、得最终乘积。位得最终乘积。被乘数左移加部分积的方法实现两个被乘数左移加部分积的方法实现两个n位数相乘时,乘积位数相乘时,乘积为为2n位。在运算过程中,这位。在运算过程中,这2n位都有可能进行相加的操作,位都有可能进行相加的操作,所以,需要所以,需要2n个加法器。部分积右移的运算方法却只有个加法器。部分积右移的运算方法却只有n位进行相加的操作,所以只需要位进行相加的操作,所以只需要n个加法器。个加法器。444. 4. 二进制除法二进制除法除法是乘法的逆运算。因此,它是确定一个数除法是乘法的逆运算。因此,它是确定一个数(除数除数)可以可以从另一个数从另一个数(被除数被除数)中连减多少次的过程。中连
39、减多少次的过程。【例例2.22】计算计算 10011B 和和 101B 的商。的商。1 0 0 0 1 11 0 1 1 1 1 1 1 0 1 0 1 01 0 11 0 10被除数被除数余数余数余数余数余数余数1 0 1除数除数0 0 0 1 1 145除法运算在计算机中的实现除法运算在计算机中的实现除法运算在计算机中实现时,可转化为减法和移位运算:除法运算在计算机中实现时,可转化为减法和移位运算: 从被除数的最高位(从被除数的最高位(MSB)开始检查)开始检查,并并经过比较确定经过比较确定需需要超过除数值的位数。要超过除数值的位数。 找到这个位时找到这个位时,商记商记1,并把选定的被除数
40、值减除数。然后并把选定的被除数值减除数。然后把被除数的下一位移到余数上把被除数的下一位移到余数上构成新余数构成新余数。 如果新余数不够减除数如果新余数不够减除数,则商记则商记0,把被除数的再下一位移,把被除数的再下一位移到余数上;若新余数够减则商记到余数上;若新余数够减则商记1,然后将余数减去除数,然后将余数减去除数,并把被除数的下一个低位再移到余数上。并把被除数的下一个低位再移到余数上。 重复重复这一过程直到全部被除数的位都这一过程直到全部被除数的位都依次依次下移完为止。然下移完为止。然后把余数后把余数/除数作为商的分数,表示在商中。除数作为商的分数,表示在商中。46 在微机中,以在微机中,
41、以 0 或或 1 两种取值表示的变量叫两种取值表示的变量叫逻辑变量逻辑变量; 它们不是代表数学中的它们不是代表数学中的“0”和和“1”的数值大小,而是代表的数值大小,而是代表所要研究的问题的两种状态或可能性,如电压的高或低,所要研究的问题的两种状态或可能性,如电压的高或低,脉冲的有或无等。脉冲的有或无等。 逻辑变量之间的运算,称为逻辑变量之间的运算,称为逻辑运算逻辑运算。 逻辑运算包括逻辑运算包括3种基本运算:逻辑加法(种基本运算:逻辑加法(或运算或运算)、)、 逻辑乘逻辑乘法(法(与运算与运算)和逻辑否定()和逻辑否定(非运算非运算)。由这)。由这3种基本运算可种基本运算可以导出其它的逻辑运
42、算,如以导出其它的逻辑运算,如异或运算异或运算、同或运算以及与或、同或运算以及与或非运算等。非运算等。47 与运算通常用符号与运算通常用符号“”或或“”或或“”表示。表示。 与运算的规则:与运算的规则: 010 或或 0 10 或或 010 读成读成 0 与与 1 等于等于 0 100 或或 1 00 或或 100 读成读成 1 与与 0 等于等于 0 111 或或 1 11 或或 111 读成读成 1 与与 1 等于等于 1 与运算表示只有参加运算的逻辑变量都同时为与运算表示只有参加运算的逻辑变量都同时为 1 时,其与时,其与运算的结果才等于运算的结果才等于 1。【例例】 11000011
43、10101001 = ?10000001当两个多位逻辑变量之间进行逻辑运算当两个多位逻辑变量之间进行逻辑运算时,只在对应位之间按规则进行运算,时,只在对应位之间按规则进行运算,不同位之间不发生任何关系,没有算术不同位之间不发生任何关系,没有算术运算中的进位或借位关系。运算中的进位或借位关系。48 或运算通常用符号或运算通常用符号“”或或 “”表示。表示。 或运算的规则:或运算的规则: 000 或或 000 读成读成 0 或或 0 等于等于 0011 或或 011 读成读成 0 或或 1 等于等于 1 101 或或 101 读成读成 1 或或 0 等于等于 1 111 或或 111 读成读成 1
44、 或或 1 等于等于 1 或运算表示在参加运算的逻辑变量中只要有一个为或运算表示在参加运算的逻辑变量中只要有一个为 1,或运,或运算的结果就为算的结果就为1 ;只有都为;只有都为0时,或运算的结果才为时,或运算的结果才为0。【例例】 11000011 10101001 = ? 1110101110100101?49 非运算又称逻辑否定,它是在逻辑变量上方加一横非运算又称逻辑否定,它是在逻辑变量上方加一横线表示非。线表示非。 非运算的规则:非运算的规则: 读成读成 非非 0 等于等于 1读成读成 非非 1 等于等于 0【例例】01011010011050 异或运算通常用符号异或运算通常用符号“
45、” 表示。异或运算的规则:表示。异或运算的规则: 0 00 读成读成 0 同同 0 异或,结果为异或,结果为 00 11 读成读成 0 同同 1 异或,结果为异或,结果为 11 01 读成读成 1 同同 0 异或,结果为异或,结果为 11 10 读成读成 1 同同 1 异或,结果为异或,结果为 0 在给定的两个逻辑变量中,若两个逻辑变量相同,则异或在给定的两个逻辑变量中,若两个逻辑变量相同,则异或运算的结果为运算的结果为0;当两个逻辑变量不同时,异或运算的结果;当两个逻辑变量不同时,异或运算的结果才为才为1。【例例】 11000011 10101001 = ? 0110 101051l 在计算
46、机中,用二进制表示一个带小数点的数有两种在计算机中,用二进制表示一个带小数点的数有两种方法,即定点表示和浮点表示。方法,即定点表示和浮点表示。 定点表示:小数点在数中的位置是固定的;定点表示:小数点在数中的位置是固定的; 浮点表示:小数点在数中的位置是浮动的。浮点表示:小数点在数中的位置是浮动的。l 相应地,计算机按数的表示方法不同也可以分为定点相应地,计算机按数的表示方法不同也可以分为定点计算机和浮点计算机两大类。计算机和浮点计算机两大类。52 通常,对于任意一个二进制数总可以表示为纯小数或纯整通常,对于任意一个二进制数总可以表示为纯小数或纯整数与一个数与一个 2 的整数次幂的乘积。例如,二
47、进制数的整数次幂的乘积。例如,二进制数N可写成可写成 N=2PS 其中其中S称为数的尾数,它表示了数的全部有效数字;称为数的尾数,它表示了数的全部有效数字;P称为数的阶码,它确定了小数点位置;称为数的阶码,它确定了小数点位置;2称为阶码的底。称为阶码的底。【注意注意】P、S都是用二进制表示的数。都是用二进制表示的数。当阶码当阶码P为固定值时,称这种方为固定值时,称这种方法为数的定点表示法。这种阶法为数的定点表示法。这种阶码为固定值的数称为定点数。码为固定值的数称为定点数。53 如假定如假定P0且尾数且尾数S为纯小数,这时定点数只能表示小数。为纯小数,这时定点数只能表示小数。N=2PS 符号尾数
48、. S 如假定如假定P0且尾数且尾数S为纯整数,这时定点数只能表示整数。为纯整数,这时定点数只能表示整数。符号尾数 S . 定点数的两种表示法,在计算机中均有采用。究竟采用哪定点数的两种表示法,在计算机中均有采用。究竟采用哪种方法,均是事先约定的。种方法,均是事先约定的。 如用纯小数进行计算时,其运算结果要用适当的比例因子如用纯小数进行计算时,其运算结果要用适当的比例因子来折算成真实值。来折算成真实值。54 在计算机中,数的正负也是用在计算机中,数的正负也是用0或或1来表示的,来表示的,“0”表示表示正,正,“1”表示负。表示负。 定点数表示方法如下:假设一个单元可以存放一个定点数表示方法如下
49、:假设一个单元可以存放一个8位二位二进制数,其中最左边第进制数,其中最左边第1位留做表示符号,称为符号位,位留做表示符号,称为符号位,其余其余7位,可用来表示尾数。位,可用来表示尾数。 例如,两个例如,两个8位二进制数位二进制数0.1010111和和0.1010111在计算在计算机中的定点表示形式:机中的定点表示形式:11010111尾数尾数符号符号01010111尾数尾数符号符号55 具有具有n位尾数的定点机所能表示的最大正数为位尾数的定点机所能表示的最大正数为1-2-n ,即:,即:0. 1 1 1 1 1 1n 个个 1(n-1)个个 0 具有具有n位尾数的定点机所能表示的最小正数为位尾
50、数的定点机所能表示的最小正数为2-n ,即:,即:0. 0 0 0 0 0 1 具有具有n位尾数的定点机所能表示的数位尾数的定点机所能表示的数N的范围为:的范围为: 2-n | N | 1-2-n 56 定点机中绝对值小于定点机中绝对值小于2-n的数即为的数即为0(机器零);绝对值大(机器零);绝对值大于于1-2-n,则超出计算机所能表示的最大范围,产生,则超出计算机所能表示的最大范围,产生“溢出溢出”错误,迫使计算机停止原有的工作,转入处理错误,迫使计算机停止原有的工作,转入处理“溢出溢出”错错误。误。 定点机中数表示的范围不大,参加运算的数都要小于定点机中数表示的范围不大,参加运算的数都要
51、小于1,而且运算结果也不应出现大于而且运算结果也不应出现大于1或等于或等于1的情况,否则就要的情况,否则就要产生产生“溢出溢出”错误。因此,这就需要在用机器解题之前进错误。因此,这就需要在用机器解题之前进行必要的加工,选择适当的比例因子,使全部参加运算的行必要的加工,选择适当的比例因子,使全部参加运算的数的中间结果都按相应的比例缩小若干倍而变为小于数的中间结果都按相应的比例缩小若干倍而变为小于1的的数,而计算的结果又必须用相应的比例增大若干倍而变为数,而计算的结果又必须用相应的比例增大若干倍而变为真实值。真实值。57 如果数的阶码可以取不同的数值,称这种表示方法为数如果数的阶码可以取不同的数值
52、,称这种表示方法为数的浮点表示法。这种阶码可以浮动的数,称为浮点数。的浮点表示法。这种阶码可以浮动的数,称为浮点数。N=2PS 其中,阶码其中,阶码P和尾数和尾数S用二进制整数表示,可为正数和负数。用二进制整数表示,可为正数和负数。l 用用1位二进制数位二进制数Pf表示阶码的符号,表示阶码的符号,Pf0表示阶码为正;表示阶码为正;Pf1表示阶码为负。表示阶码为负。l 用用1位二进制数位二进制数Sf表示尾数的符号,表示尾数的符号,Sf0表示尾数为正;表示尾数为正;Sf1表示尾数为负。表示尾数为负。58 浮点数在计算机中的表示形式:浮点数在计算机中的表示形式:SfPf尾数尾数阶码符号阶码符号尾数符
53、号尾数符号阶码阶码 浮点表示与定点表示相比,只多了阶码部分。浮点表示与定点表示相比,只多了阶码部分。 若数若数N具有具有m位阶码,位阶码,n位尾数,则其表示范围为位尾数,则其表示范围为mm2121nn2 2 N 2 1 2阶码的阶码的最小值最小值尾数的尾数的最小值最小值阶码的阶码的最大值最大值尾数的尾数的最大值最大值59 二进制数二进制数2+1000.1011101(相当于十进制数(相当于十进制数11.625),其),其浮点表示为:浮点表示为:010001011101尾数尾数PfSf阶码阶码 为了使计算机运算过程中不丢失有效数字,提高运算的精度,为了使计算机运算过程中不丢失有效数字,提高运算的
54、精度,一般都采用二进制浮点规格化数。一般都采用二进制浮点规格化数。 所谓所谓浮点规格化浮点规格化,是指尾数,是指尾数S绝对值小于绝对值小于1而大于或等于而大于或等于1/2,即小数点后而的一位必须是即小数点后而的一位必须是“1”。60l 在 计 算 机 中 , 为 了 区 别 正 数 和 负 数 , 将 数 学 上 的在 计 算 机 中 , 为 了 区 别 正 数 和 负 数 , 将 数 学 上 的“”“”“”符号数字化,规定符号数字化,规定1个字节中的个字节中的D7位为符号位为符号位,位,D0D6位为数字位。位为数字位。l 在符号位中,用在符号位中,用“0”表示正,表示正,“1”表示负,而数字
55、位表示表示负,而数字位表示该数的数值部分。例如:该数的数值部分。例如: 0101101191D 1101101191Dl 通常把一个数(包括符号位)在机器中的一组二进制数表通常把一个数(包括符号位)在机器中的一组二进制数表示形式,称为示形式,称为“机器数机器数”,而把它所表示的值(包括符号),而把它所表示的值(包括符号)称为机器数的称为机器数的“真值真值”。 61 机器中有机器中有3种表示表示带数符号的方法:种表示表示带数符号的方法:原码原码、反码反码和和补码补码。 所谓数的原码表示,所谓数的原码表示,即符号位用即符号位用“0”表示正表示正数,而用数,而用“1”表示负数,表示负数,其余数字位表
56、示数值其余数字位表示数值本身。本身。 正数正数 X = 105 的原码表示为:的原码表示为:X原原 = 0 1 1 0 1 0 0 1数值本身数值本身符号位符号位 负数负数 X = 105 的原码表示为:的原码表示为:X原原 = 1 1 1 0 1 0 0 1数值本身数值本身符号位符号位105D = 64+32+8+1= 26+25+23+20 = 1101001B62 对于对于0,可以认为它是(,可以认为它是(0),也可以认为它是(),也可以认为它是(0)。)。因此,因此,0 在原码中有两种表示形式:在原码中有两种表示形式: 0 原原 = 0 0 0 0 0 0 0 00 原原 = 1 0
57、0 0 0 0 0 0 对于对于8位二进制数,原码可表示的范围为:位二进制数,原码可表示的范围为:127D 127D。 原码表示的优缺点:原码表示的优缺点:原码表示简单易懂,而且与真值的原码表示简单易懂,而且与真值的转换很方便,但采用原码表示在计算机中进行加减运算转换很方便,但采用原码表示在计算机中进行加减运算时很麻烦。时很麻烦。63 正数的反码正数的反码表示与其原码表示与其原码相同,即符号位用相同,即符号位用“0”表表示正,数字位为数值本身。示正,数字位为数值本身。例如:例如: +0 原原 = 0 0 0 0 0 0 0 0 +4 原原 = 0 0 0 0 0 1 0 0 +31 原原 =
58、0 0 0 1 1 1 1 1 +127 原原 = 0 1 1 1 1 1 1 1数字位数字位符号位符号位 负数的反码负数的反码是将它的正数是将它的正数按位(包括符号位在内)按位(包括符号位在内)取反而形成的。例如:取反而形成的。例如: 0 反反 = 1 1 1 1 1 1 1 1 4 反反 = 1 1 1 1 1 0 1 1 31 反反 = 1 1 1 0 0 0 0 0127 反反 = 1 0 0 0 0 0 0 0数字位数字位符号位符号位64 “0”的反码有两种表示法:的反码有两种表示法:00000000表示表示0,11111111表表示示0。 8位二进制反码能表示的数值范围为位二进制反
59、码能表示的数值范围为 127D 127D。 当一个带符号数用反码表示时,最高位为符号位。当一个带符号数用反码表示时,最高位为符号位。若符号位为若符号位为0(即正数)时,后面的(即正数)时,后面的7位为数值部分;位为数值部分;若符号位为若符号位为1(即负数)时,一定要注意后面(即负数)时,一定要注意后面7位表示的并不位表示的并不是此负数的数值,而必须把它们按位取反以后,才能得到表是此负数的数值,而必须把它们按位取反以后,才能得到表示这示这7位的二进制数值。位的二进制数值。65【例例】一个一个8位二进制反码表示的数位二进制反码表示的数10010100B的真值是多少?的真值是多少?解:因解:因 X反
60、反= 10010100B 的符号位为的符号位为1,故,故X必为一个负数。必为一个负数。将其符号为写为将其符号为写为“”,数字位按位取反,得到,数字位按位取反,得到X的二的二进制表示:进制表示:X = 1101011B将将X表示为十进制形式:表示为十进制形式:X =1101011B = (126125 123121120) = (64 32 8 2 1) = 107D 66 正数的补码正数的补码与其原码相同,与其原码相同,即符号位用即符号位用“0”表正,其表正,其余数字位表示数值本身。余数字位表示数值本身。例如:例如: +4 补补 = 0 0 0 0 0 1 0 0 +31 补补 = 0 0 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国中端酒店行业并购重组扩张战略制定与实施研究报告
- 2025-2030年中国家庭服务机器人行业商业模式创新战略制定与实施研究报告
- 2025-2030年中国虚拟养老院行业营销创新战略制定与实施研究报告
- 2025-2030年中国新型健康服务行业营销创新战略制定与实施研究报告
- 2025-2030年中国矿山开发服务行业开拓第二增长曲线战略制定与实施研究报告
- 建设社会主义文化强国论文
- 中国心理测试仪器行业市场深度分析及发展趋势预测报告
- 一年级数学计算题专项练习汇编
- 大客车常用知识培训课件
- 年产40000吨环保新能源材料生产线项目可行性研究报告写作模板-拿地申报
- 常见妇科三大恶性肿瘤的流行及疾病负担研究现状
- CTD申报资料撰写模板:模块三之3.2.S.4原料药的质量控制
- (正式版)JTT 1482-2023 道路运输安全监督检查规范
- 围手术期血糖的管理
- 2024年度医疗器械监督管理条例培训课件
- 项目七电子商务消费者权益保护的法律法规
- 100以内不进位不退位加减法练习题
- 企业安全生产评估报告
- 水库大坝深基坑开挖专项方案样本
- 经桡动脉脑血管造影术前术后护理
- 运行设备巡回检查制度模版
评论
0/150
提交评论