第二章微型计算机基础知识本章学习目标掌握微型计算机中的.ppt

上传人:知****量 文档编号:71809008 上传时间:2023-02-06 格式:PPT 页数:156 大小:2.66MB
返回 下载 相关 举报
第二章微型计算机基础知识本章学习目标掌握微型计算机中的.ppt_第1页
第1页 / 共156页
第二章微型计算机基础知识本章学习目标掌握微型计算机中的.ppt_第2页
第2页 / 共156页
点击查看更多>>
资源描述

《第二章微型计算机基础知识本章学习目标掌握微型计算机中的.ppt》由会员分享,可在线阅读,更多相关《第二章微型计算机基础知识本章学习目标掌握微型计算机中的.ppt(156页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1/148第二章第二章 微型计算机基础知识微型计算机基础知识本章学习目标本章学习目标掌握微型计算机中的数制及其编码掌握微型计算机中的数制及其编码 掌握布尔代数和常见逻辑电路掌握布尔代数和常见逻辑电路 了解微型计算机的常用技术术语和技术了解微型计算机的常用技术术语和技术2/1481微型机中的数制及其编码一、数与数制一、数与数制 进位计数制,简称数制。进位计数制,简称数制。十进制:十进制:人们习惯采用的计数制是十进制。人们习惯采用的计数制是十进制。0 09 9 十个不同的基数,逢十进一。十个不同的基数,逢十进一。用用D D表示或省略。表示或省略。二进制:二进制:计算机所采用的计数制是二进制。计算机

2、所采用的计数制是二进制。只有只有0 0、1 1两个不同的基数,逢二进一。两个不同的基数,逢二进一。用用B B表示。表示。因因为为计计算算机机用用晶晶体体管管截截止止、饱饱和和两两个个状状态下的输出电平态下的输出电平1 1、0 0表示数字。表示数字。3/148十进制与二进制转换十进制与二进制转换人人机机交交互互时时采采用用十十进进制制,计计算算机机内内数数据据存存储储、计计算算、处处理理用用二二进进制制,需需要要需需要要进进行行转转换换。在在计计算算机中的解决方法是,利用机中的解决方法是,利用接口技术接口技术作转换。作转换。如如:用用键键盘盘输输入入数数据据时时使使用用十十进进制制数数,即即输输

3、入入电电路路使使用用的的键键盘盘是是十十进进制制数数,输输入入接接口口电电路路将将十进制数转换为二进制数后送到机器内部;十进制数转换为二进制数后送到机器内部;4/148二、不同数制之间的转换二、不同数制之间的转换1 1、十进制数转换为二进制数、十进制数转换为二进制数十进制数转换为二进制数的方法十进制数转换为二进制数的方法整整数数部部分分转转换换方方法法:除除以以2 2取取余余,直直到到商商为为0 0为为止止。最后将所有余数倒序排列,得到转换结果。最后将所有余数倒序排列,得到转换结果。小小数数部部分分转转换换方方法法:乘乘以以2 2取取整整,直直到到满满足足精精度度要求为止。要求为止。5/148

4、例例1 1:将十进制数:将十进制数100100转换为二进制数转换为二进制数(100)10=(01100100)2 或者表示为:或者表示为:100D=01100100B6/148例例1 1:将十进制数:将十进制数100100转换为二进制数转换为二进制数(100)10=(01100100)2 或者表示为:或者表示为:100D=01100100B7/148例例2 2:将十进制数:将十进制数45.61345.613转换成二进制数转换成二进制数45.613(101101.100111)2 或或45.613D101101.100111B8/1482 2、二进制数转换为十进制数、二进制数转换为十进制数转换方

5、法:按权展开相加。转换方法:按权展开相加。例例如如,一一个个8 8位位的的二二进进制制数数的的各各位位的的权权值值依依次次是是2 27 7、2 26 6、2 25 5 、2 20 0 。如将如将10110110B10110110B转换为十进制数的方法是:转换为十进制数的方法是:即,即,(10110110)2=(182)10或者表示为:或者表示为:10110110B=182D 9/1483 3、十六进制数、十六进制数优优点点:二二进进制制数数位位数数较较多多时时,读读写写不不方方便便。而使用十六进制表示简明。而使用十六进制表示简明。十六进制数表示:十六进制数表示:09、A、B、C、D、E、F十六

6、个不同的基数十六个不同的基数 逢十六进一逢十六进一 用用H表示。表示。10148二进制数转换为十六进制数二进制数转换为十六进制数 原原理理:四四位位二二进进制制数数对对应应一一位位十十六六进进制制,所所以以二二进进制制整整数数转转换换为为1616进进制制时时,从从最最低低位位开开始始,每每四四位位一一组组(不不足足四四位位时时高高位位补补0 0)转换成一位十六进制数据即可。转换成一位十六进制数据即可。例如:例如:1011 0110B=B6H1011 0110B=B6H。11148十六进制数转换为二进制数十六进制数转换为二进制数 十十六六进进制制数数据据转转换换为为二二进进制制数数据据时时,把把

7、每一位十六进制数据直接写成四位二进制数。每一位十六进制数据直接写成四位二进制数。例如:例如:64H=0110 0100B64H=0110 0100B12148十六进制数转换为二进制数十六进制数转换为二进制数 十十六六进进制制数数据据转转换换为为二二进进制制数数据据时时,把把每一位十六进制数据直接写成四位二进制数。每一位十六进制数据直接写成四位二进制数。例如:例如:64H=0110 0100B64H=0110 0100B131484 4位位二二进进制制数数和和一一位位十十六六进进制制数数具具有有一一一一对对应应的的关关系。系。十六十六进进制制二二进进制制十六十六进进制制二二进进制制0000081

8、000100019100120010A101030011B101140100C110050101D110160110E111070111F1111表表2-1 4位二进制数和一位十六进制数的对应关系位二进制数和一位十六进制数的对应关系14148十六进制数据和十进制数据之间的转换十六进制数据和十进制数据之间的转换通过二进制转换;通过二进制转换;将将十十进进制制整整数数除除以以十十六六取取余余,小小数数部部分分乘乘以以十十六取整,可直接转换为十六进制数;六取整,可直接转换为十六进制数;将十六进制数按权展开相加得到十进制数。将十六进制数按权展开相加得到十进制数。n+1n+1位位十十六六进进制制数数的的

9、权权值值分分别别为为1616n n、1616n-1n-1、16162 2、16161 1、16160 015148三、数制数据的编码及其运算三、数制数据的编码及其运算 在计算机中,数据分在计算机中,数据分无符号数无符号数和和带符号数带符号数。无无符符号号数数用用整整个个机机器器字字长长的的全全部部二二进进制制位位表表示数值位示数值位,无符号位;无符号位;带符号数用带符号数用最高位最高位表示该数的表示该数的符号位符号位。带符号数又有带符号数又有原码原码、补码补码和和反码反码三种形式。三种形式。161481 1、原码表示法、原码表示法由由于于计计算算机机中中只只能能有有0 0、1 1两两种种数数,

10、不不仅仅数数的的数数值值部部分分在在计计算算机机中中用用0 0、1 1编编码码的的形形式式表示,正、负号也只能用表示,正、负号也只能用0 0、1 1编码表示。编码表示。一一般般用用数数的的最最高高位位(Most Most Significant Significant BitBit,MSBMSB)表示数的正负符号。)表示数的正负符号。原原码码表表示示法法:一一个个数数连连同同它它的的符符号号在在机机器器中中使用使用0 0、1 1进行编码。进行编码。17148 例例如如,若若用用5 5位位二二进进制制数数表表示示数数据据时时,最最高高位位表表示示符符号号,0 0表表示示正正数数,1 1表表示示负

11、负数数,余下的四位表示数据:余下的四位表示数据:MSB=0MSB=0表示正数,如表示正数,如1011B1011B表示为表示为0 01011B1011B;MSB=1MSB=1表示负数,如表示负数,如1011B1011B表示为表示为1 11011B1011B。18148 例例如如,若若用用5 5位位二二进进制制数数表表示示数数据据时时,最最高高位位表表示示符符号号,0 0表表示示正正数数,1 1表表示示负负数数,余下的四位表示数据:余下的四位表示数据:MSB=0MSB=0表示正数,如表示正数,如1011B1011B表示为表示为0 01011B1011B;MSB=1MSB=1表示负数,如表示负数,如

12、1011B1011B表示为表示为1 11011B1011B。19148机器数和真值机器数和真值把一个数在机器内的二进制形式称为机器数。把一个数在机器内的二进制形式称为机器数。把这个数本身称为该机器数的真值。把这个数本身称为该机器数的真值。上例的上例的“01011B01011B”和和“11011B11011B”就是两个机就是两个机器数。器数。它们的真值分别为它们的真值分别为1011B1011B和和1011B1011B。20148真真值值为为纯纯小小数数时时,其其原原码码形形式式为为X XS SX X1 1X X2 2X Xn n,其中,其中X XS S表示符号位。例如,表示符号位。例如,若若X

13、X0.01100.0110,则,则XX原原X X0.01100.0110;若若X X-0.0110-0.0110,则,则XX原原1.01101.0110真值为纯整数时,其原码形式为真值为纯整数时,其原码形式为 X XS SX Xn nX Xn-1n-1X X2 2X X1 1,其中,其中X XS S表示符号位。表示符号位。211488位二进制原码的表示范围为:位二进制原码的表示范围为:-127-0 +0+12716位二进制原码的表示范围为:位二进制原码的表示范围为:-32767-0 +0+32767原码表示中,真值原码表示中,真值0有两种不同的表示形式:有两种不同的表示形式:0原原00000,

14、0原原1000022148无符号数无符号数 没有符号位的数,称为无符号数。没有符号位的数,称为无符号数。无符号数的最大值比有符号数大一倍。无符号数的最大值比有符号数大一倍。如如字字长长为为8 8位位时时,能能表表示示的的无无符符号号数数的的最最大大值值为为11111111B11111111B,即即255255,而而8 8位位有有符符号号数数的的最大值是最大值是01111111B01111111B,即,即+127+127。231488位二进制无符号数的表示范围为:位二进制无符号数的表示范围为:025516位二进制无符号数的表示范围为:位二进制无符号数的表示范围为:065535原原码码的的优优点点

15、是是直直观观易易懂懂,机机器器数数和和真真值值间间的的转转换换很很容容易易,用用原原码码实实现现乘乘、除除运运算算的的规则简单。规则简单。缺点缺点是加、减运算规则较复杂。是加、减运算规则较复杂。241488位二进制无符号数的表示范围为:位二进制无符号数的表示范围为:025516位二进制无符号数的表示范围为:位二进制无符号数的表示范围为:065535原原码码的的优优点点是是直直观观易易懂懂,机机器器数数和和真真值值间间的的转转换换很很容容易易,用用原原码码实实现现乘乘、除除运运算算的的规则简单。规则简单。缺点缺点是加、减运算规则较复杂。是加、减运算规则较复杂。25148原码计算存在的问题原码计算

16、存在的问题 直接用直接用0 0、1 1表示正、负,运算时带来的表示正、负,运算时带来的问题:有符号数和无符号数的表示形式并问题:有符号数和无符号数的表示形式并没有任何区别,所以,没有任何区别,所以,CPUCPU在进行运算时,在进行运算时,并不知道参与运算的数是有符号数还是无并不知道参与运算的数是有符号数还是无符号数,在进行有符号数的运算时,会将符号数,在进行有符号数的运算时,会将符号也当作是数值进行运算,因而有时会符号也当作是数值进行运算,因而有时会出现出现错误的结果错误的结果。26148两个正数相加时,符号位也同时相加两个正数相加时,符号位也同时相加若若两两个个数数之之和和不不超超出出其其所

17、所能能表表示示的的最最大大值值127127时时,符符号号位位相相加加:0 00 00 0,即即和和仍仍然然为为正正数数,结果正确。结果正确。若若两两个个数数之之和和超超出出了了其其所所能能表表示示的的最最大大值值127127时时,就就会会产产生生数数字字位位向向符符号号位位的的进进位位,两两个个符符号号位位相相加加0 00 00 0,再再加加上上低低位位进进上上来来的的1 1,则则符符号号位位为为1 1,作作为为有有符符号号数数,表表示示两两个个正正数数相相加的和为负数,显然是不对的。加的和为负数,显然是不对的。27148例例1 1,两个有符号正数,两个有符号正数01010111B010101

18、11B(87D87D)和和00010110B00010110B(22D22D)相加。)相加。其和为其和为1101101B1101101B,即十进制的,即十进制的109109127127,符号位为符号位为0 0,表示和为正数,结果正确。,表示和为正数,结果正确。28148例例2 2,两两个个有有符符号号正正数数00110111B00110111B(55D55D)和和01011101B01011101B(93D93D)相加。)相加。和应为和应为+148+148,但符号位为,但符号位为1 1,表示和是负数,错误。,表示和是负数,错误。产生错误的原因是:产生错误的原因是:相加的和是相加的和是14814

19、8127127,超出了超出了8 8位有符号正数所能位有符号正数所能表示的最大值,对于有表示的最大值,对于有符号数,这种数值运算符号数,这种数值运算侵入到符号位造成结果侵入到符号位造成结果错误的情况,称为错误的情况,称为溢出溢出。29148一一个个正正数数与与一一个个负负数数相相加加,和和的的符符号号位位不不应是两个符号位直接运算的值:应是两个符号位直接运算的值:0 01 11 1。和和的的符符号号位位应应由由两两数数中中绝绝对对值值大大的的数数所所决决定。定。两两个个负负数数相相加加时时,由由于于1 11 11010,符符号号位位只只表表示示0 0,因因此此和和的的符符号号也也不不应应是是由由

20、两两符符号号位直接运算的结果所决定。位直接运算的结果所决定。为为解解决决机机器器内内有有符符号号数数的的符符号号位位参参加加运运算算的问题,引入了的问题,引入了反码反码和和补码补码。30148一一个个正正数数与与一一个个负负数数相相加加,和和的的符符号号位位不不应是两个符号位直接运算的值:应是两个符号位直接运算的值:0 01 11 1。和和的的符符号号位位应应由由两两数数中中绝绝对对值值大大的的数数所所决决定。定。两两个个负负数数相相加加时时,由由于于1 11 11010,符符号号位位只只表表示示0 0,因因此此和和的的符符号号也也不不应应是是由由两两符符号号位直接运算的结果所决定。位直接运算

21、的结果所决定。为为解解决决机机器器内内有有符符号号数数的的符符号号位位参参加加运运算算的问题,引入了的问题,引入了反码反码和和补码补码。311482 2、反码表示法、反码表示法对正数来说,其反码和原码相同。对正数来说,其反码和原码相同。即即 原原 反反。对对负负数数来来说说,反反码码为为其其原原码码的的符符号号位位不不变变,数数值值部分的各位取反。部分的各位取反。在反码表示中,真值在反码表示中,真值0 0也有两种不同的表示也有两种不同的表示 形式:形式:00反反00000B00000B 00反反11111B11111B 32148真值、原码、反码的不同表示真值、原码、反码的不同表示 原原 反反

22、1101B01101B01101B1101B11101B10010B33148反码运算要注意以下三个问题:反码运算要注意以下三个问题:符号位可与数值位一样参加运算。符号位可与数值位一样参加运算。符符号号位位运运算算后后如如有有进进位位产产生生,则则把把这这个个进进位位送送回到最低位去相加,这叫循环进位。回到最低位去相加,这叫循环进位。反码运算具有性质:反码运算具有性质:XX反反YY反反XXYY反反341483 3、补码表示法、补码表示法同余的概念同余的概念两整数两整数A A和和B B除以同一正整数除以同一正整数M M,所得余数相,所得余数相同,则称同,则称A A和和B B对对M M同余。同余。

23、可写成:可写成:A AB B(mod Mmod M)例如:对钟表来说,其模例如:对钟表来说,其模M M1212,故,故4 4点和点和1616点、点、5 5点和点和1717点点均是同余的。均是同余的。4 41616(mod 12mod 12),),5 51717(mod 12mod 12)35148指针式钟表的校准(快两个小时指针式钟表的校准(快两个小时)方法一:往回拨两个小时方法一:往回拨两个小时方法二:往前拨方法二:往前拨1010个小时,结果相同。个小时,结果相同。钟钟表表按按照照1212小小时时循循环环计计数数,一一旦旦加加到到大大于于1212小时时,就会将小时时,就会将1212舍弃,计为

24、舍弃,计为0 0点。点。36148指针式钟表的校准(快两个小时指针式钟表的校准(快两个小时)方法一:往回拨两个小时方法一:往回拨两个小时方法二:往前拨方法二:往前拨1010个小时,结果相同。个小时,结果相同。钟钟表表按按照照1212小小时时循循环环计计数数,一一旦旦加加到到大大于于1212小时时,就会将小时时,就会将1212舍弃,计为舍弃,计为0 0点。点。37148这这种种按按照照周周期期循循环环的的数数的的周周期期叫叫做做模模,这这里里模模是是1212,数数一一旦旦大大于于或或等等于于其其模模,就就会会被自动舍弃。被自动舍弃。所所以以,5+10-12=35+10-12=3,而而5-2=5+

25、10-5-2=5+10-12=5+12=5+(10-1210-12),),1010可看作可看作-2-2的补码。的补码。即即以以1212为为模模时时,2 2和和1010同同余余。同同余余的的两两个个数数具具有有互互补补关关系系,2 2与与1010对对模模1212互互补补,即即2 2的补码是的补码是1010。38148可可见见,只只要要确确定定了了“模模”,就就可可找找到到一一个个与与负负数数等等价价的的正正数数(该该正正数数是是负负数数的的补补码码 )来来代代替替此此负负数数,这这个个正正数数可可用用模模加加上上负负数数本本身身求求得得,这这样样就就可可把把减减法法运运算算用用加加法法实实现了。

26、现了。39148补码的概念:补码的概念:知知道道模模的的大大小小,求求某某个个负负数数的的补补码码时时,只只要要将将该该负负数数加加上上其其模模,就就得得到到它它的的补补码。码。如以如以“1010”为模,为模,“-7-7”的补码为的补码为 (7 7)+10+10 3 3 (mod 10mod 10)这时这时“3 3”就是就是“-7-7”的补码。的补码。40148某某一一正正数数加加上上一一个个负负数数时时,实实际际上上是是做做一一次次减减法法。引引入入补补码码概概念念之之后后,可可将将该该正正数数加加上上这这个个负负数数的的补补码码,最最高高位位产产生生的的进进位位会会自自然然丢丢失失,所所以

27、以得得到到的的结结果果同同样样是是正正确确的。的。例如,当模为例如,当模为10时,时,7(-7)7(-7+10)=7+3=10=10-10 =0(mod 10)又如,又如,7+(-4)=7+(-4+10)=7+6=13=13-10=3(mod 10)41148以以2 2n n为模的补码为模的补码 在在计计算算机机中中,带带符符号号的的数数用用二二进进制制补补码码表表示示。存存放放数数据据的的存存储储器器的的位位数数都都是是确确定定的的。如如每每个个存存数数单单元元的的字字长长为为n n位位,则则它的模就是它的模就是2 2n n。2 2n n是是n nl l位位的的二二进进制制数数1001000

28、B0B(1 1后后面面有有n n个个0 0),由由于于机机器器只只能能表表示示n n位位数数,因因此此数数2 2n n在在机机器器中中仅仅能能以以n n个个0 0来来表表示示,而而该该数数最最高高位位的的数数字字1 1就就被被自自动动舍舍弃弃了了。则则以以2 2n n为为模模时时2 2n n和和0 0在在机机器器中中的的表表示示形形式式是是完完全全一一样的。样的。42148以以2 2n n为模的补码为模的补码 在在计计算算机机中中,带带符符号号的的数数用用二二进进制制补补码码表表示示。存存放放数数据据的的存存储储器器的的位位数数都都是是确确定定的的。如如每每个个存存数数单单元元的的字字长长为为

29、n n位位,则则它的模就是它的模就是2 2n n。2 2n n是是n nl l位位的的二二进进制制数数1001000B0B(1 1后后面面有有n n个个0 0),由由于于机机器器只只能能表表示示n n位位数数,因因此此数数2 2n n在在机机器器中中仅仅能能以以n n个个0 0来来表表示示,而而该该数数最最高高位位的的数数字字1 1就就被被自自动动舍舍弃弃了了。则则以以2 2n n为为模模时时2 2n n和和0 0在在机机器器中中的的表表示示形形式式是是完完全全一一样的。样的。43148如果将如果将n n位字长的二进制数的最高位留做符号位字长的二进制数的最高位留做符号位,则数字只剩下位,则数字

30、只剩下n-1n-1位,下标从位,下标从n-2n-2到到0 0,数,数字字X X 的补码(以的补码(以2 2n n为模)的表示形式为:为模)的表示形式为:当当X X为正数时,即为正数时,即X X+X+Xn-2n-2X Xn-3n-3X X1 1X X0 0时,时,XX补补=2=2n n+X+X =0 X =0 Xn-2n-2X Xn-3n-3X X1 1X X0 0(mod2(mod2n n)=X =X原原44148当当X为负数时,即为负数时,即X-Xn-2Xn-3X1X0时,时,45148例如,例如,n=8时,时,28=100000000B,则,则1010111B的补码为:的补码为:10101

31、11B补补100000000B1010111B 10101001B或或1010111B补补1010111B反反1 10101000B1 10101001B46148正数:补码和原码的形式相同:正数:补码和原码的形式相同:原原 补补;负负数数:补补码码为为其其反反码码(数数值值部部分分各各位位变变反反)加。加。例如:例如:原原 反反 补补正数正数 0001101B 00001101B 00001101B 00001101B0001101B 00001101B 00001101B 00001101B负数负数 0001101B 10001101B 11110010B 11110011B0001101

32、B 10001101B 11110010B 11110011B47148不论是正数,还是负数,反码与补码具有不论是正数,还是负数,反码与补码具有下列相似的性质:下列相似的性质:反反 反反 原原 补补 补补 原原48148不论是正数,还是负数,反码与补码具有不论是正数,还是负数,反码与补码具有下列相似的性质:下列相似的性质:反反 反反 原原 补补 补补 原原49148【例例2-12-1】+13+13和和-13-13的的原原码码、反反码码、补补码码以以及及反码的反码和补码的补码如下:反码的反码和补码的补码如下:X X 原原 反反 补补 反反 反反 补补 补补 0001101B 00001101B

33、00001101B 00001101B 00001101B 00001101B0001101B 00001101B 00001101B 00001101B 00001101B 00001101B 0001101B 10001101B 11110010B 11110011B 10001101B 10001101B 0001101B 10001101B 11110010B 11110011B 10001101B 10001101B 50148 无符号数无符号数有符号数有符号数十十进进制数制数二二进进制数制数真真值值原原码码反反码码补码补码127101281292550111 1111B0000 0

34、001B0000 0000B1000 0000B1000 0001B1111 1111B+127:+1+0-0-1:-127-1280111 1111B:0000 0001B0000 0000B1000 0000B1000 0001B:1111 1111B不能表示不能表示0111 1111B:0000 0001B0000 0000 B1111 1111 B1111 1110 B:1000 0000 B不能表示不能表示0111 1111 B:0000 0001 B0000 0000 B0000 0000 B1111 1111 B:1000 0001 B1000 0000 B表表2-2 8位二进制

35、数的原码、反码、补码的表示位二进制数的原码、反码、补码的表示51148 可可见见,8 8位位字字长长,原原码码、反反码码表表示示的的数数的的 范范围围为为127127127127,而而补补码码表表示示的的数数的的范范围为围为127127128128。下面对两个特殊的数的补码作进一步说明:下面对两个特殊的数的补码作进一步说明:0 0的补码的补码 +0+0补补00000000B00000000B-0-0原原10000000B10000000B,经求反加,经求反加1 1,得,得00000000B00000000B,所以,所以,-0-0补补00000000B00000000B。即,对补码,即,对补码,

36、+0+0补补 -0-0补补00000000B00000000B52148-128-128的补码的补码根据补码的定义,根据补码的定义,128128补补=2=28 8(128)128)=2 =28 8 (127)-1127)-1 =100000000B-1111111B-1 =100000000B-1111111B-1 =100000001B-1 =100000001B-1 =10000000B =10000000B53148数值数据的运算数值数据的运算采用补码进行加减运算时要注意以下几个问题:采用补码进行加减运算时要注意以下几个问题:溢出溢出 补码运算时,其符号位与数值部分一样参加运算,但补码运

37、算时,其符号位与数值部分一样参加运算,但结果不能超出其所能表示的数的范围,否则会出现溢出错结果不能超出其所能表示的数的范围,否则会出现溢出错误。误。无符号数的加减运算结果超出数的范围的情况叫做进位无符号数的加减运算结果超出数的范围的情况叫做进位或借位,计算机中有专用的标志位作记录,只要适当处理或借位,计算机中有专用的标志位作记录,只要适当处理这些标志,结果就不会出错,所以在多字节数的加减运算这些标志,结果就不会出错,所以在多字节数的加减运算时必须考虑进位和借位的处理。时必须考虑进位和借位的处理。54148数值数据的运算数值数据的运算采用补码进行加减运算时要注意以下几个问题:采用补码进行加减运算

38、时要注意以下几个问题:溢出溢出 补码运算时,其符号位与数值部分一样参加运算,但补码运算时,其符号位与数值部分一样参加运算,但结果不能超出其所能表示的数的范围,否则会出现溢出错结果不能超出其所能表示的数的范围,否则会出现溢出错误。误。无符号数的加减运算结果超出数的范围的情况叫做进位无符号数的加减运算结果超出数的范围的情况叫做进位或借位,计算机中有专用的标志位作记录,只要适当处理或借位,计算机中有专用的标志位作记录,只要适当处理这些标志,结果就不会出错,所以在多字节数的加减运算这些标志,结果就不会出错,所以在多字节数的加减运算时必须考虑进位和借位的处理。时必须考虑进位和借位的处理。55148采采用

39、用了了补补码码以以后后,符符号号运运算算后后如如出出现现进进位位,则则把把这这个个进进位位舍舍去去不不要要,不不影影响响运运算算结结果果,运运算算后的符号就是结果的符号。后的符号就是结果的符号。补码运算的性质:补码运算的性质:补补补补补补 补补补补补补以上运算性质,与数的位数以上运算性质,与数的位数n无关。无关。56148下面以二进制数的补码运算为例,说明有符号数的下面以二进制数的补码运算为例,说明有符号数的运算性质运算性质【例例2-22-2】已知:已知:+0101101B+0101101B 0000001B0000001B求?求?解:补解:补=00101101=00101101补补=1111

40、1111=11111111 补补 =100101100=100101100 进位舍去不要进位舍去不要补补补补0101100B=X0101100B=X补补+Y+Y补补57148【例例2-32-3】已知:已知:0001101B0001101B 0000001B0000001B求:?求:?解:补解:补 =11110011=11110011补补 =11111111=11111111 补补 =111110010=111110010 进位舍去不要进位舍去不要所以,补补所以,补补0001110B0001110B58148【例例2-42-4】已知:已知:+1+1128128 求:?求:?解:补解:补00000

41、00100000001补补1000000010000000 补补1000000110000001所以,补补所以,补补11111111B11111111B 12712759148加法器就能完成所有的算术运算加法器就能完成所有的算术运算加加法法算算减减法法:因因为为减减去去一一个个正正数数的的减减法法运运算算可可以以看看作作是是加加上上一一个个负负数数的的加加法法运运算算,所所以以在在计计算算机机中中,求求得得补补码码之之后后,就就把把减减一一个个正正数数的的运运算算转转变变为为加加上上该该负负数数的的补补码码的加法运算。的加法运算。加加法法算算乘乘法法:可可以以采采用用移移位位相相加加的的方方法

42、法完完成。成。加加法法算算除除法法:采采用用移移位位相相减减的的方方法法完完成成,这样只用加法器就能完成所有的算术运算。这样只用加法器就能完成所有的算术运算。60148加法器就能完成所有的算术运算加法器就能完成所有的算术运算加加法法算算减减法法:因因为为减减去去一一个个正正数数的的减减法法运运算算可可以以看看作作是是加加上上一一个个负负数数的的加加法法运运算算,所所以以在在计计算算机机中中,求求得得补补码码之之后后,就就把把减减一一个个正正数数的的运运算算转转变变为为加加上上该该负负数数的的补补码码的加法运算。的加法运算。加加法法算算乘乘法法:可可以以采采用用移移位位相相加加的的方方法法完完成

43、。成。加加法法算算除除法法:采采用用移移位位相相减减的的方方法法完完成成,这样只用加法器就能完成所有的算术运算。这样只用加法器就能完成所有的算术运算。61148三种编码小结:三种编码小结:对正数而言,上述三种码都等于真值本身。对正数而言,上述三种码都等于真值本身。最最高高位位都都表表示示符符号号位位,补补码码和和反反码码的的符符号号位位可可与与数数值值位位一一样样对对待待,和和数数值值位位一一起起参参加加运运算算;但原码的符号位必须与数值位分开处理。但原码的符号位必须与数值位分开处理。原原码码和和反反码码的的真真值值0 0各各有有两两种种不不同同的的表表示示方方式式,而补码的真值而补码的真值0

44、 0表示是唯一的。表示是唯一的。621484 4、十进制数的编码、十进制数的编码常用的十进制数编码有:常用的十进制数编码有:BCDBCD码(码(Binary-Coded DecimalBinary-Coded Decimal)余余3 3码码 格雷码格雷码BCDBCD码码:是是二二进进制制编编码码形形式式的的十十进进制制数数。即即用用4 4位位二二进进制制数数表表示示一一位位十十进进制制数数,这这种种编编码码形形式式可可以以有有多多种种,其其中中最最自自然然、最最常常用用的一种形式为的一种形式为8-4-2-1BCD8-4-2-1BCD码。码。63148非压缩非压缩BCDBCD 用一个字节的用一个

45、字节的8 8位二进制数表示十进制数时,若位二进制数表示十进制数时,若每个字节的高四位为每个字节的高四位为0 0,只用其低四位表示一位十,只用其低四位表示一位十进制数,则称为非压缩的进制数,则称为非压缩的BCDBCD码,表示格式如图所码,表示格式如图所示。它所表示的数的范围是示。它所表示的数的范围是0-90-9。D7D6D5D4D3D2D1D00000个位个位图2-3 非压缩BCD码的表示格式64148D7D6D5D4D3D2D1D0十位十位个位个位图2-4 压缩BCD码的表示格式压缩压缩BCD若将若将8位用于表示两位十进制数,则称为压缩的位用于表示两位十进制数,则称为压缩的BCD码,表示格式如

46、图所示。它所表示的数的范码,表示格式如图所示。它所表示的数的范围是围是0-99。65148例如,若用例如,若用4 4个字节表示十进制数个字节表示十进制数43214321用用 非非 压压 缩缩 的的 BCDBCD码码 表表 示示 时时 是是 0000010000000100,0000001100000011,0000001000000010,0000000100000001;写成十六进制的形式写成十六进制的形式:04H:04H、03H03H、02H02H、01H01H;用用 压压 缩缩 的的 BCDBCD码码 表表 示示 时时,为为:0100001101000011,00100001001000

47、01;写成十六进制的形式:写成十六进制的形式:43H43H、21H21H。66148例如,若用例如,若用4 4个字节表示十进制数个字节表示十进制数43214321用用 非非 压压 缩缩 的的 BCDBCD码码 表表 示示 时时 是是 0000010000000100,0000001100000011,0000001000000010,0000000100000001;写成十六进制的形式写成十六进制的形式:04H:04H、03H03H、02H02H、01H01H;用用 压压 缩缩 的的 BCDBCD码码 表表 示示 时时,为为:0100001101000011,0010000100100001;

48、写成十六进制的形式:写成十六进制的形式:43H43H、21H21H。67148 尽尽管管在在84218421码码中中09,1009,10个个数数码码的的表表示示形形式式与与用用二二进进制制表表示示的的形形式式一一样样,但但这这是是两两个个完全不同的概念,不能混淆。完全不同的概念,不能混淆。如如,十十 进进 制制 数数 3939可可 表表 示示 为为(0011(0011 1001)1001)84218421或或100111B100111B,两者是完全不同的。两者是完全不同的。68148四、非数值数据的编码四、非数值数据的编码 计计算算机机不不仅仅能能对对数数值值数数据据进进行行处处理理,还还能能

49、够对文本和其它非数值数据信息进行处理。够对文本和其它非数值数据信息进行处理。非非数数值值数数据据是是指指不不能能进进行行算算术术运运算算的的数数据据,如如:字字符符、字字符符串串、图图形形符符号号和和汉汉字字、语语音音与图像等多种数据。与图像等多种数据。这这些些信信息息在在传传送送时时,不不是是直直接接传传送送和和处处理理其其原原值值,而而是是先先按按照照某某种种规规则则进进行行一一定定的的处处理理,以以便便使使之之具具有有通通用用的的传传送送格格式式。经经过过这这种种处处理的数值信息,称为编码。理的数值信息,称为编码。691481 1、ASCIIASCII编码编码处处理理文文本本文文件件时时

50、,每每个个字字符符都都由由其其相相应应的的标标准准字字模模构构成成,文文本本文文件件本本身身并并不不包包括括这这些些字字模模,而而只只是是使使用用其其编编码码来来表表示示每每个个字字符。符。例例如如,使使用用区区位位编编码码的的中中文文编编辑辑时时,4 4位位十十进进制制区区位位码码可可以以表表示示一一万万个个不不同同的的字字符符。国国际际上上通通用用的的标标准准字字符符编编码码为为ASCIIASCII码码(American(American Standard Standard Code Code for for Information Information InterchangeInter

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com