




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机运算基础1第一页,共七十七页,2022年,8月28日2本章学习要求理解进位记数制的基本特点。熟练掌握各种进位记数制之间相互转换的方法。掌握常用的8421BCD编码和ASCII编码。熟练掌握二进制数的各种算术运算与逻辑运算方法。理解数的定点和浮点表示法。理解和熟练掌握补码及其运算与溢出。第二页,共七十七页,2022年,8月28日3 第二章微机运算基础2.1 进位记数制2.2 各种进位数制之间的转换2.3 二进制编码2.4 二进制数的运算2.5 数的定点与浮点表示2.6 带符号数的表示法第三页,共七十七页,2022年,8月28日 第二章微机运算基础计算机最基本的功能是进行大量“数”的计算与加工处理,但计算机只能“识别”二进制数。所以,二进制数及其编码是所有计算机的基本语言。在微机中还采用了八进制和十六进制表示法,它们用二进制数表示和处理非常方便。4第四页,共七十七页,2022年,8月28日52.1进位记数制进位记数制是指按进位的方法来进行计数,简称进位制。在进位记数制中,经常要用“基数”(或称底数)来区别不同的数制,而某进位制的基数就是表示该进位制所用字符或数码的个数。如十进制数共用0~9十个数码表示数的大小,故其基数为10。为区分不同的数制,可在数的下标注明基数。如6553510表示以10为基数的数制,它是每计满十便向高位进一,即“逢十进一”;当基数为M时,便是“逢M进一”。第五页,共七十七页,2022年,8月28日2.1.1十进制数一个十进制数中的每一位都具有其特定的权,称为位权或简称权。就是说,对于同一个数码在不同的位它所代表的数值就不同。例如,999.99这个十进制数可以写为: 999.99=9×102+9×101+9×100+9×10-1+9×10-2
其中,每个位权由基数的n次幂来确定。在十进制中,整数的位权是100(个位)、101(十位)、102(百位)等;小数的位权是10-1(十分位)、10-2(百分位)等。上式称为按位权展开式。6第六页,共七十七页,2022年,8月28日7十进制数有以下两个主要特点:十进制的基数为10,数码的个数等于基数,即共有10个不同的数码:0,1,2,……,8,9。进位时“逢十进一”。即在记数时,每一次记到10就往左进一位,上一位(左)的权是下一位(右)的权的10倍。第七页,共七十七页,2022年,8月28日82.1.2二进制数进位计数制中最简单的是二进制,它只包括“0”和“1”两个不同的数码,即基数为2,进位原则是“逢二进一”。例如,二进制数1101.11相当于十进制数的
1×23+1×22+0×21+1×20+1×2-1+1×2-2
=8+4+0+1+0.5+0.25=13.7510二进制数各位的权分别为8、4、2、1、0.5、0.25。将二进制数化为十进制数,是把二进制的每一位数字乘以该位的权然后相加得到(实际上只需要将为1的各位的权相加即可)。第八页,共七十七页,2022年,8月28日9二进制数有以下两个主要特点:它的数值部分只需用两个数码“0”和“1”来表示。二进制的基数是2,当记数时,它是“逢二进一”,即上一位(左)的权是下一位(右)的权的2倍。第九页,共七十七页,2022年,8月28日102.1.3八进制数八进制数也是微机中常用的一种进位制,其主要特点是:基数为8,用0~7八个不同的数码来表示数值。当记数时,它是“逢八进一”,即上一位(左)的权是下一位(右)的权的8倍。第十页,共七十七页,2022年,8月28日112.1.4十六进制数十六进位计数制是微机中最常用的一种进位制。它的基数是16,即由16个不同的数码符号组成。除了0~9十个数字外,还用字母A、B、C、D、E、F分别表示数10、11、12、13、14、15。十六进制的主要特点是:基数为16,用16个不同的数码符号0~9和A~F来表示数值。“逢十六进一”,即上一位(左)的权是下一位(右)的权的16倍。第十一页,共七十七页,2022年,8月28日12对任意一种进位记数制,其记数可用正整数b表示,这时,数N的按位权展开式的一般通式如下:式中,ki为第i位的数码;b为基数;bi为第i位的权;n为整数的总位数;m为小数的总位数。十六进制十进制八进制二进制0123456789ABCDEF01234567891011121314150123456710111213141516170000000100100011010001010110011110001001101010111100110111101111第十二页,共七十七页,2022年,8月28日13为了区别数制,通常在书写时采用的3种方法:在数的右下角注明数制,例如2116、4310、658、10102分别表示为十六进制的21,十进制的43,八进制的65和二进制的1010。在数的后面加上一些字母符号。通常十六进制用H
表示,十进制用D表示或不加字母符号,八进制用Q表示,二进制用B表示。例如21H、43D或43、65Q、1010B。在数的前面加上一些符号。如十六进制用$表示,二进制用%表示。例如$
21、%1010第十三页,共七十七页,2022年,8月28日142.2各种进位数制之间的转换八进制数二进制数十六进制数b(基数)进制数十进制数3位合1位4位合1位1位分4位1位分3位按位权展开式十进制数转换为b进制图2.1各种进位数制之间转换的综合表第十四页,共七十七页,2022年,8月28日152.2.1非十进制数转换为十进制数【例2.1】将二进制数1011.101B转换成十进制数。
1011.101B =1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3
=8+0+2+1+0.5+0+0.125=11.625D【例2.2】将十六进制数FFFE.4H转换为十进制数。
FFFE.4H
=F×163+F×162+F×161+E×160+4×16-1 =65534.25D任一非十进制数转换为十进制数的基本方法:先将该数按位权展开式逐项计算,再按十进制运算规则求和。第十五页,共七十七页,2022年,8月28日162.2.2十进制数转换为非十进制数对任一个十进制数转换为非十进制数分成整数和小数两部分,即分别转换后再以小数点为界合并起来。整数部分采用“除以基数取余”方法(直至商为0,余数按先后顺序从低位到高位排列)。小数部分采用“乘基数取整”的方法。第十六页,共七十七页,2022年,8月28日172.2.2非十进制数转换为十进制数【例2.3】将十进制整数175转换成二进制整数。÷2商01
2510214387175余数1
0101111K7K6K5K4K3K2K1K0最高位最低位其转换结果为: 175D=K7K6K5K4K3K2K1K0=10101111B第十七页,共七十七页,2022年,8月28日18将十进制整数转换为二进制整数的规则:将十进制数除以2,并记下余数;将所得的商再除以2,并记下余数,如此重复,直至商为0;收集所得到的余数,以第1位余数作为整数的最低有效位K0,最后得到的余数为最高有效位Kn-1,中间的余数顺次收集。÷2商余数第十八页,共七十七页,2022年,8月28日192.2.2十进制数转换为非十进制数【例2.4】将十进制小数0.625转换成二进制小数。×20.625
0.25
0.501
01K-1K-2K-3整数部分其转换结果为: 0.625D=0.K-1K-2K-3=0.101B第十九页,共七十七页,2022年,8月28日20将十进制小数转换为二进制小数的规则:不断用2去乘十进制小数,将每次所得的溢出数(即整数1或0)依次记为K-1,K-2,…。×2小数部分整数部分若乘积的小数部分最后一次乘积为0,则对后一次乘积的整数部分记为K-m,则该十进制小数转换为二进制形式为0.K-1K-2…K-m若十进制小数不能用有限的二进制小数精确表示,即乘积永远不为0,则可根据精度要求取m位,得到十进制小数的近似表达式。第二十页,共七十七页,2022年,8月28日21【例2.5】将十进制数1192.9032转换成十六进制数。最后转换结果为:1192.9032D=4A8.E738H÷1604741192余数4A8K2K1K0商整数部分“除以16取余”:小数数部分“乘16取整”:×160.9032
0.45120.21920.50720.1152E
738K-1K-2K-3K-4最高位最低位1192D=4A8H0.9032D=0.E738H第二十一页,共七十七页,2022年,8月28日222.2.3八进制数与二进制数之间的转换由于3位二进制数的组合恰好等于0~7这8个数值,所以能够用3位二进制数表示1位八进制数。将二进制数转换为八进制数时,整数部分从小数点开始向左,每3位分为一组,若最高位所在的组不足3位,则在最高位的左边加0补足到3位;小数部分从小数点开始向右,每3位分为一组,若最低位所在的组不足3位,则在最低位的右边加0补足到3位,然后每3位二进制数用相应的八进制数表示。3位合1位二进制数八进制数1位分3位第二十二页,共七十七页,2022年,8月28日23【例】将二进制数10101001.01101011B转换成八进制数。最后转换结果为:10101001.01101011B=251.326Q10101001B=010101001B251补零0.01101011B=0.011010110B326补零整数部分:小数部分:第二十三页,共七十七页,2022年,8月28日24【例2.8】将八进制数352.14Q转换成二进制数。转换结果为: 352.14Q=011101010.001100B=11101010.0011B352001100二进制数八进制数第二十四页,共七十七页,2022年,8月28日252.2.4十六进制数与二进制数之间的转换由于4位二进制数的组合恰好等于0~15这16个数值,所以可用4位二进制数表示1位十六进制数。一个二进制数转换为十六进制数时,整数部分可从小数点开始向左按4位分为若干组,最高位所在的组不足4位,在左边加0补足到4位;小数部分可从小数点开始向右按4位分为若干组,最低位所在的组不足4位,在右边加0补足到4位,然后将每一组的4位二进制数用相应的十六进制数表示即转换为十六进制数。4位合1位二进制数十六进制数1位分4位第二十五页,共七十七页,2022年,8月28日26【例2.9】将二进制数110100110.110101B转换成十六进制数。转换结果为: 110100110.110101B=1A6.D4H000110100110.110101001A6.D4十六进制数二进制数【例2.10】将十六进制数C8F.49H转换成二进制数。转换结果为: C8F.49H=110010001111.01001001B110010001111.01001001C8F.49十六进制数二进制数第二十六页,共七十七页,2022年,8月28日272.3二进制编码由于计算机只能识别二进制数,因此输入的信息,如数字、字母、符号、声音、图像等都要转化成由若干位0、1组合的特定二进制码来表示,这就是二进制编码。【注意】前面讨论的二进制数称为纯二进制代码,它与其它类型的二进制代码是有区别的。第二十七页,共七十七页,2022年,8月28日282.3.1二进制编码的十进制虽然在计算机中采用的是二进制信息,但人们并不熟悉二进制,在计算机输入和输出时,通常采用十进制数来表示,因此要用到十进制数的二进制编码。8421BCD码有10个不同的数字符号,由于它是逢“十”进位的,所以,它是十进制;同时,它的每一位是用4位二进制编码来表示的,所以称之为二进制编码的十进制,即二—十进制码或BCD(BinaryCodeDecimal)码。第二十八页,共七十七页,2022年,8月28日29【注意】4位码仅有10个数有效,表示十进制数10~15的4位二进制数在BCD数制中是无效的。十进制数8421BCD编码1011121314151617181900010000000100010001001000010011000101000001010100010110000101110001100000011001十进制数8421BCD编码01234567890000000100100011010001010110011110001001表2.2BCD编码表第二十九页,共七十七页,2022年,8月28日30【例2.11】将十进制数256.794用BCD码表示。结果为:256.794=(001001010110.011110010100)BCD001001010110.011110010100256.794BCD码十进制数【例2.13】将(011000101000.100101010100)BCD码转换成相应的十进制数。(011000101000.100101010100)BCD=628.954D第三十页,共七十七页,2022年,8月28日31【例2.14】将二进制数1011.01B转换成相应的BCD码。二进制转换成十进制: 1011.01B=1×23+0×22+1×21+1×20+0×2-1+1×2-2
=8+0+2+1+0+0.25=11.25D十进制转换成BCD码:11.25D=(00010001.00100101)BCD结果为:1011.01B
=(00010001.00100101)BCD【注意】十进制与BCD码之间的转换是直接的,而二进制与BCD码之间的转换不能直接实现,必须先转换为十进制。第三十一页,共七十七页,2022年,8月28日32BCD码在计算机中有两种存储形式:压缩BCD码和非压缩BCD码对压缩BCD码,在一个字节的存储单元中存放2个BCD码;对非压缩BCD码,在一个字节的存储单元中存放1个BCD码。【例2.13】将13.25D用压缩BCD码和非压缩BCD码两种形式表示出来。13.25D的压缩BCD码为:00010011.0010010113.25D的非压缩BCD码为: 0000000100000011.0000001000000101第三十二页,共七十七页,2022年,8月28日332.3.2字母与字符的编码字母和各种字符在计算机内是按特定的规则用二进制编码表示的,这些编码有各种不同的方式。目前在微机、通讯设备和仪器仪表中广泛使用的是美国标准信息交换码(AmericanStandardCodeforInformationInterchange,ASCII)。7位ASCII代码能表示27=128种不同的字符,其中包括数码(0~9),英文大、小写字母,标点和控制的附加字符。7位ASCII码是由高3位一组和低4位一组组成的。位6位5位4位3位2位1位0高3位组低4位组第三十三页,共七十七页,2022年,8月28日34数码0~9的ASCII码:30H~39H大写字母A~Z:41H~5AH小写字母a~z:61H~7AH第三十四页,共七十七页,2022年,8月28日352.4二进制数的运算
——无符号数的算术运算和逻辑运算2.4.1 二进制数的算术运算
一种数制可进行两种基本的算术运算:加法和减法。利用加法和减法可以进行乘法、除法以及其它数值运算。1. 二进制加法二进制加法的运算规则: 0+0=0 0+1=1 1+1=0进位1
1+1+1=1进位1第三十五页,共七十七页,2022年,8月28日36【例2.16】计算1101和1011两数的和。【例2.17】计算两个8位数10001111B和10110101B的和。11110
1101+101111000进位被加数加数和两个二进制数相加时,每1列有3个数,即相加的两个数以及低位的进位,用二进制的加法规则相加后得到本位的和以及向高位的进位。101111110
10001111+10110101101000100进位被加数加数和【注意】两个8位二进制数相加后,第9位出现了一个“1”代表进位位,如果进位位不用高8位存储单元来保存,将会自然丢失。第三十六页,共七十七页,2022年,8月28日372.二进制减法二进制减法的运算规则: 0-
0=0 1-
1=0 1-
0=1
0-
1=1借位1【例2.18】计算11011B和1101B的差。010
101111011-11011110借位后的被减数被减数减数差“借位后的被减数”是指产生借位后每位被减数的值。“用借位后的被减数”逐列地减去减数即得差。【注意】二进制的“10”等于十进制的2。第三十七页,共七十七页,2022年,8月28日38【例2.20】计算11101110B和10111010B的差。101010111111101110-1011101000110100借位后的被减数被减数减数差【例2.19】计算11000100B和00100101B的差。101111
1011011000100-0010010110011111借位后的被减数被减数减数差【注意】微机一般以8位数进行减法,若被减数、减数、差值中的有效位不足8位,应补0以保持8位数。第三十八页,共七十七页,2022年,8月28日393.二进制乘法二进制乘法的运算规则:0×
0=0 0×
1=01×0=0
1×1=1【例2.21】计算1111B和1101B的乘积。1111×1101111100000111100111100011000011被乘数乘数积【说明】用乘数的每一位分别去乘被乘数,乘得的各中间结果的最低有效位与相应的乘数位对齐,最后把这些中间结果同时相加即得积。第三十九页,共七十七页,2022年,8月28日40【例】采用被乘数左移加部分积的方法计算1111B和1101B的乘积。部分积0000+111111111111+1111001001011+111100011000011乘数1101微机中常采用移位和加法操作来实现二进制乘法运算。被乘数1111111101111001111000——部分积初始值——被乘数——部分积——部分积——左移的被乘数——部分积——左移的被乘数——最终乘积第四十页,共七十七页,2022年,8月28日41被乘数左移加部分积的方法实现1111B和1101B乘积运算的步骤:乘数最低有效位为1,把被乘数加至部分积(其初值为0)上,然后把被乘数左移1位;乘数次低位为0,不加被乘数,然后把被乘数左移1位;乘数为1,把已左移的被乘数加至部分积,然后把被乘数左移1位;乘数为1,把已左移的被乘数加至部分积得最终乘积。第四十一页,共七十七页,2022年,8月28日【例】采用部分积右移加被乘数的方法计算1111B和1101B的乘积。42部分积0000+11111111
01111
001111
+11111001011
1001011+111111000011
11000011乘数1101被乘数1111——初值——被乘数——部分积——右移的部分积——右移的部分积——被乘数——部分积——右移的部分积——被乘数——部分积——最终乘积第四十二页,共七十七页,2022年,8月28日43部分积右移加被乘数的方法实现1111B和1101B乘积运算的步骤:乘数最低位为1,把被乘数加至部分积(其初值为0),然后部分积右移1位;乘数次低位为0,不加被乘数,部分积右移1位;乘数为1,加被乘数,部分积右移1位;乘数为1,加被乘数,部分积右移1位得最终乘积。
被乘数左移加部分积的方法实现两个n位数相乘时,乘积为2n位。在运算过程中,这2n位都有可能进行相加的操作,所以,需要2n个加法器。部分积右移的运算方法却只有n位进行相加的操作,所以只需要n个加法器。第四十三页,共七十七页,2022年,8月28日444.二进制除法除法是乘法的逆运算。因此,它是确定一个数(除数)可以从另一个数(被除数)中连减多少次的过程。【例2.22】计算10011B和101B的商。1000111011
1
111010101011010被除数余数余数余数101除数000111第四十四页,共七十七页,2022年,8月28日45除法运算在计算机中的实现除法运算在计算机中实现时,可转化为减法和移位运算:从被除数的最高位(MSB)开始检查,并经过比较确定需要超过除数值的位数。找到这个位时,商记1,并把选定的被除数值减除数。然后把被除数的下一位移到余数上构成新余数。如果新余数不够减除数,则商记0,把被除数的再下一位移到余数上;若新余数够减则商记1,然后将余数减去除数,并把被除数的下一个低位再移到余数上。重复这一过程直到全部被除数的位都依次下移完为止。然后把余数/除数作为商的分数,表示在商中。第四十五页,共七十七页,2022年,8月28日462.4.2二进制数的逻辑运算在微机中,以0或1两种取值表示的变量叫逻辑变量;它们不是代表数学中的“0”和“1”的数值大小,而是代表所要研究的问题的两种状态或可能性,如电压的高或低,脉冲的有或无等。逻辑变量之间的运算,称为逻辑运算。逻辑运算包括3种基本运算:逻辑加法(或运算)、逻辑乘法(与运算)和逻辑否定(非运算)。由这3种基本运算可以导出其它的逻辑运算,如异或运算、同或运算以及与或非运算等。第四十六页,共七十七页,2022年,8月28日471.与运算与运算通常用符号“×”或“•”或“∧”表示。与运算的规则:
0×1=0或0•1=0或0∧1=0读成0与1等于0 1×0=0或1•0=0或1∧0=0读成1与0等于0 1×1=1或1•1=1或1∧1=1读成1与1等于1与运算表示只有参加运算的逻辑变量都同时为1时,其与运算的结果才等于1。【例】11000011∧10101001=?10000001当两个多位逻辑变量之间进行逻辑运算时,只在对应位之间按规则进行运算,不同位之间不发生任何关系,没有算术运算中的进位或借位关系。第四十七页,共七十七页,2022年,8月28日482.或运算或运算通常用符号“+”或“∨”表示。或运算的规则:
0+0=0或0∨0=0 读成0或0等于0 0+1=1或0∨1=1 读成0或1等于1 1+0=1或1∨0=1 读成1或0等于1 1+1=1或1∨1=1 读成1或1等于1或运算表示在参加运算的逻辑变量中只要有一个为1,或运算的结果就为1;只有都为0时,或运算的结果才为0。【例】11000011∨10101001=?11101011第四十八页,共七十七页,2022年,8月28日493.非运算非运算又称逻辑否定,它是在逻辑变量上方加一横线表示非。非运算的规则: 读成非0等于1
读成非1等于0【例】01011010第四十九页,共七十七页,2022年,8月28日504.异或运算异或运算通常用符号“⊕”表示。异或运算的规则:
0⊕
0=0 读成0同0异或,结果为0
0⊕
1=1 读成0同1异或,结果为1
1⊕
0=1 读成1同0异或,结果为1
1⊕
1=0 读成1同1异或,结果为0在给定的两个逻辑变量中,若两个逻辑变量相同,则异或运算的结果为0;当两个逻辑变量不同时,异或运算的结果才为1。【例】11000011⊕
10101001=?01101010第五十页,共七十七页,2022年,8月28日512.5数的定点与浮点表示在计算机中,用二进制表示一个带小数点的数有两种方法,即定点表示和浮点表示。定点表示:小数点在数中的位置是固定的;浮点表示:小数点在数中的位置是浮动的。相应地,计算机按数的表示方法不同也可以分为定点计算机和浮点计算机两大类。第五十一页,共七十七页,2022年,8月28日522.5.1定点表示通常,对于任意一个二进制数总可以表示为纯小数或纯整数与一个2的整数次幂的乘积。例如,二进制数N可写成N=2P×S
其中 S称为数N的尾数,它表示了数N的全部有效数字; P称为数N的阶码,它确定了小数点位置; 2称为阶码的底。
【注意】P、S都是用二进制表示的数。当阶码P为固定值时,称这种方法为数的定点表示法。这种阶码为固定值的数称为定点数。第五十二页,共七十七页,2022年,8月28日532.5.1定点表示如假定P=0且尾数S为纯小数,这时定点数只能表示小数。N=2P×S
符号尾数.S如假定P=0且尾数S为纯整数,这时定点数只能表示整数。符号尾数S.定点数的两种表示法,在计算机中均有采用。究竟采用哪种方法,均是事先约定的。如用纯小数进行计算时,其运算结果要用适当的比例因子来折算成真实值。第五十三页,共七十七页,2022年,8月28日54正、负数的定点表示在计算机中,数的正负也是用0或1来表示的,“0”表示正,“1”表示负。定点数表示方法如下:假设一个单元可以存放一个8位二进制数,其中最左边第1位留做表示符号,称为符号位,其余7位,可用来表示尾数。例如,两个8位二进制数-0.1010111和+0.1010111在计算机中的定点表示形式:11010111尾数符号01010111尾数符号第五十四页,共七十七页,2022年,8月28日55正、负数的定点表示具有n位尾数的定点机所能表示的最大正数为1-2-n,即:
0.1111…11n个1(n-1)个0具有n位尾数的定点机所能表示的最小正数为2-n,即: 0.0000…01具有n位尾数的定点机所能表示的数N的范围为:
2-n
≤|N|≤1-2-n
第五十五页,共七十七页,2022年,8月28日56定点机的特点定点机中绝对值小于2-n的数即为0(机器零);绝对值大于1-2-n,则超出计算机所能表示的最大范围,产生“溢出”错误,迫使计算机停止原有的工作,转入处理“溢出”错误。定点机中数表示的范围不大,参加运算的数都要小于1,而且运算结果也不应出现大于1或等于1的情况,否则就要产生“溢出”错误。因此,这就需要在用机器解题之前进行必要的加工,选择适当的比例因子,使全部参加运算的数的中间结果都按相应的比例缩小若干倍而变为小于1的数,而计算的结果又必须用相应的比例增大若干倍而变为真实值。第五十六页,共七十七页,2022年,8月28日572.5.2浮点表示如果数N的阶码可以取不同的数值,称这种表示方法为数的浮点表示法。这种阶码可以浮动的数,称为浮点数。N=2P×S
其中,阶码P和尾数S用二进制整数表示,可为正数和负数。用1位二进制数Pf表示阶码的符号,Pf=0表示阶码为正;Pf=1表示阶码为负。用1位二进制数Sf表示尾数的符号,Sf=0表示尾数为正;Sf=1表示尾数为负。第五十七页,共七十七页,2022年,8月28日582.5.2浮点表示浮点数在计算机中的表示形式:SfPf尾数阶码符号尾数符号阶码浮点表示与定点表示相比,只多了阶码部分。若数N具有m位阶码,n位尾数,则其表示范围为阶码的最小值尾数的最小值阶码的最大值尾数的最大值第五十八页,共七十七页,2022年,8月28日592.5.2浮点表示二进制数2+100×0.1011101(相当于十进制数11.625),其浮点表示为:010001011101尾数PfSf阶码为了使计算机运算过程中不丢失有效数字,提高运算的精度,一般都采用二进制浮点规格化数。所谓浮点规格化,是指尾数S绝对值小于1而大于或等于1/2,即小数点后而的一位必须是“1”。第五十九页,共七十七页,2022年,8月28日602.6带符号数的表示法在计算机中,为了区别正数和负数,将数学上的“+”“-”符号数字化,规定1个字节中的D7位为符号位,D0~D6位为数字位。在符号位中,用“0”表示正,“1”表示负,而数字位表示该数的数值部分。例如: N=01011011=+91D N=11011011=-91D通常把一个数(包括符号位)在机器中的一组二进制数表示形式,称为“机器数”,而把它所表示的值(包括符号)称为机器数的“真值”。第六十页,共七十七页,2022年,8月28日612.6.2机器数的种类和表示方法机器中有3种表示表示带数符号的方法:原码、反码和补码。所谓数的原码表示,即符号位用“0”表示正数,而用“1”表示负数,其余数字位表示数值本身。1. 原码正数X=﹢105的原码表示为:[X]原=01101001数值本身符号位负数X=﹣105的原码表示为:[X]原=11101001数值本身符号位105D=64+32+8+1=26+25+23+20=1101001B第六十一页,共七十七页,2022年,8月28日62对于0,可以认为它是(+0),也可以认为它是(-0)。因此,0在原码中有两种表示形式: [﹢0]原=00000000
[﹣0]原=10000000对于8位二进制数,原码可表示的范围为:+127D~-127D。原码表示的优缺点:原码表示简单易懂,而且与真值的转换很方便,但采用原码表示在计算机中进行加减运算时很麻烦。原码的特点:第六十二页,共七十七页,2022年,8月28日632.反码正数的反码表示与其原码相同,即符号位用“0”表示正,数字位为数值本身。例如:[+0]原=00000000[+4]原=00000100[+31]原=00011111[+127]原=01111111数字位符号位负数的反码是将它的正数按位(包括符号位在内)取反而形成的。例如:
[﹣0]反=11111111[﹣4]反=11111011[﹣31]反=11100000[﹣127]反=10000000数字位符号位第六十三页,共七十七页,2022年,8月28日64反码的特点:“0”的反码有两种表示法:00000000表示+0,11111111表示-0。8位二进制反码能表示的数值范围为+127D~-127D。当一个带符号数用反码表示时,最高位为符号位。若符号位为0(即正数)时,后面的7位为数值部分;若符号位为1(即负数)时,一定要注意后面7位表示的并不是此负数的数值,而必须把它们按位取反以后,才能得到表示这7位的二进制数值。第六十四页,共七十七页,2022年,8月28日65【例】一个8位二进制反码表示的数10010100B的真值是多少?解:因[X]反=10010100B的符号位为1,故X必为一个负数。将其符号为写为“﹣”,数字位按位取反,得到X的二进制表示:X=﹣1101011B将X表示为十进制形式:
X=﹣1101011B =﹣(1×26+1×25+1×23+1×21+1×20)=﹣(64+32+8+2+1) =﹣107D第六十五页,共七十七页,2022年,8月28日663.补码正数的补码与其原码相同,即符号位用“0”表正,其余数字位表示数值本身。例如:[+4]补=00000100[+31]补=00011111[+127]补=01111111数字位符号位负数的补码表示为它的反码加1(即在其最低位加1)。例如:
[﹣4]补=11111100[﹣31]补=11100001[﹣127]补=10000001数字位符号位第六十六页,共七十七页,2022年,8月28日67补码的特点:[+0]补=[-0]补=000000008位二进制补码所能表示的数值为+127D~-128D。当一个带符号数用8位二进制补码表示时,其最高位为符号位。若符号位为“0”(即正数),则其余7位即为此数的数值本身;若符号位为“1”(即负数),一定要注意其余7位不是此数的数值,必须将它们按位取反,且在最低位加1,才得到它的数值。第六十七页,共七十七页,2022年,8月28日68【例】一个8位二进制补码表示的数10011011B的真值是多少?解:因[X]补=10011011B的符号位为1,故X必为一个负数。将其符号为写为“﹣”,数字位按位取反后在最低位加1,得到X的二进制表示:X=﹣1100101B将X表示为十进制形式:
X=﹣1100101B =﹣(1×26+1×25+1×22+1×20)=﹣(64+32+4+1) =﹣101D第六十八页,共七十七页,2022年,8月28日69微机中都是采用补码表示法进行逻辑运算的。采用原码表示法进行两数相加,必须先判断两个数的符号是否相同。如果相同,则进行加法,否则就要做减法。做减法时,还必须比较两个数的绝对值的大小,再由大数减小数,差值的符号要和绝对值大的数的符号一致。这种运算使计算机的逻辑电路结构复杂化了。采用补码法后,同一加法电路既可以用于有符号数相加,也可以用于无符号数相加,而且减法可用加法来代替,从而使运算逻辑大为简化,运算速度提高,成本降低。说明:第六十九页,共七十七页,2022年,8月28日70二进制数码表示无符号十进制数带符号十进制数原码反码补码0000000000000001000000100111110001111101011111100111111110000000100000011000001011111100111111011111111011111111012124125126127128129130252253254255﹢0﹢1﹢2﹢124﹢125﹢126﹢127﹣0﹣1﹣2﹣124﹣125﹣126﹣127﹢0﹢1﹢2﹢124﹢125﹢126﹢127﹣127﹣126﹣125﹣3﹣2﹣1﹣0﹢0﹢1﹢2﹢124﹢125﹢126﹢127﹣128﹣127﹣126﹣4﹣3﹣2﹣1…………………………表8位机器数的对照表第七十页,共七十七页,2022年,8月28日712.6.3补码的加减法运算在微机中,凡是带符号数一律用补码表示,而且运算的结果也是补码。补码的加减法运算是带符号数加减法运算的一种,其运算特点是:符号位与数字位一起参加运算,并且自动获得结果(包括符号位与数字位)。一般地说,对于n位的二进制数X,其补码总可以定义为: [X]补=2n+X 其中,2n为n位二进制数X的“模”,即最大的循环数,如8位二进制数的模为28=256。第七十一页,共七十七页,2022年,8月28日72在进行加法运算时,按两数补码的和等于两数和的补码进行运算,即:[X]补
+[Y]补
=[X+Y]补
因为 [X]补
+[Y]补
=2n+X+2n+Y=2n+(X+Y)而 2n+(X+Y)=[X+Y]补(模为2n)所以 [X]补
+[Y]补
=[X+Y]补在进行减法运算时,按两数补码的差等于两数差的补码进行运算,即:[X]补-[Y]补
=[X-Y]补
因为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乐昌市医疗卫生类招聘真题2024
- 2024年山西地质集团招聘考试真题
- 2025年03月福建宁德市蕉城区委宣传部公开招聘紧缺急需及高层次人才2人笔试历年参考题库考点剖析附解题思路及答案详解
- 2024年杭州市市级机关事业单位招聘考试真题
- 护理查房常规查体
- 幼儿园小班玩具安全教育
- 2023-2024学年江苏省南京市联合体七年级(上)期末数学试题及答案
- 抗肿瘤临床应用管理办法
- 2025年成人高考《语文》古代文化常识高效学习试题卷
- 2025年护士执业资格考试题库:护理科研方法与实践选择题库
- 2025届成都市2022级高中毕业班第二次诊断性检测语文试题及答案
- 2025届北京市第四中学顺义分校高三零模英语试题(原卷版+解析版)
- 全国第9个近视防控月活动总结
- 智能传感器研发-第1篇-深度研究
- 2025至2030年中国快速换模系统数据监测研究报告
- 2025年举办科普月的活动总结(3篇)
- 2025年高三语文上学期期末考试作文题目解析及范文:关于鸿沟的思考
- 2025年春新人教版化学九年级下册课件 第十一单元 化学与社会 课题1 化学与人体健康
- 【小学数学课件】搭积木课件
- 监控系统维护及方案
- 无心磨床新手
评论
0/150
提交评论