GCS微机原理Ch01补充运算基础.ppt

上传人:小飞机 文档编号:6506181 上传时间:2023-11-07 格式:PPT 页数:69 大小:517.50KB
返回 下载 相关 举报
GCS微机原理Ch01补充运算基础.ppt_第1页
第1页 / 共69页
GCS微机原理Ch01补充运算基础.ppt_第2页
第2页 / 共69页
GCS微机原理Ch01补充运算基础.ppt_第3页
第3页 / 共69页
GCS微机原理Ch01补充运算基础.ppt_第4页
第4页 / 共69页
GCS微机原理Ch01补充运算基础.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《GCS微机原理Ch01补充运算基础.ppt》由会员分享,可在线阅读,更多相关《GCS微机原理Ch01补充运算基础.ppt(69页珍藏版)》请在三一办公上搜索。

1、计算机运算基础,2,第一章习题:,88051与8751的区别是(C)(A)内部数据存储单元数目的不同;(B)内部数据存储器的类型不同;(C)内部程序存储器的类型不同;(D)内部的寄存器的数目不同。,9在家用电器中使用单片机应属于微计算机的(B)(A)辅助设计应用(B)测量、控制应用(C)数值计算应用(D)数据处理应用,计算机运算基础,重点解决:计算机的重要职能之一处理数 在计算机中如何表示一个数?不同性质数的运算规则和算法。,4,基本内容,几个重要概念 复习不同进制数之间的互换3.机器数与真值4带符号数的原码、反码、补码5数的定点与浮点表示,5,冯.诺依曼型计算机体系结构,计算机硬件:5大部件

2、运算器、控制器、存储器、输入和输出;数字计算机的数制采用二进制;计算机应该按照程序顺序执行,6,1 几个重要概念,重点概念1:计算机中的数据都是以二进制形式进行存储和运算的,重点概念2:在计算机中存储数据时,每类数据占据固定长度的二进制数位,而不管其实际长度。一般长度为字节的整倍数,重点概念3:计算机中不仅要处理无符号数,还要处理带符号和带小数点的数。,例如:在八位微机中,整数216 存储为11011000B 整数56 存储为00111000B,重点概念4:机器数与真值,7,2 不同数制之间的转换,数制进位计数制十进制(Decimal System)符合人们的习惯二进制(Binary Syst

3、em)便于物理实现八进制(Octave System)十六进制(Hexadecimal System)便于识别、书写,8,基、权的概念,按照进位方式进行计数的数制叫做进位计数制。每一种数制都有它的基数和各数位的位权。,9,基、权的概念,进位计数制的三个要素数位 数码在一个数中的位置;基数 在某种进位中每个数位上所能使用的数码个数称为这种进位制基数;位权 在某种进位制中每个数位上数码所代表的数值的大小等于在这个数位上的数码乘上一个固定的值,这个固定的值就是这种进位制中该数位上的位权。,例:198.210=1102+9101+8100+2 10-1,10,1.十进制 Decimal system,

4、特点:以十为底,逢十进一;,十进制数 基数10,遵循逢10进位数码10个态:0,1,2,3,4,5,6,7,8,9 如:(123.5)10 或123.5D 或 123.5数值大小计算:1 2 3.5=1 102+2 101+3 100+5 10-1,11,2.二进制 Binary system,特点:以2为底,逢2进位;,二进制数 基数2,遵循逢2进位数码2个:0,1 二进制数数值大小计算:(1011011)2 或 1011011 B=1 25+0 24+1 23+1 22+0 21+1 20+1 2-1=455D二进制数 十进制数,12,3.八进制 Octave system,特点:以8为底

5、,逢8进位;,八进制数 基数8,遵循逢8进位数码8个:0,1,2,3,4,5,6,7 八进制数数值大小计算:(103524)8 或 103524O=1 85+0 84+3 83+5 82+2 81+4 80=(34644)10八进制数 十进制数,13,4.十六进制 Hexadecimal system,特点:以16为底,逢16进位;,十六进制数 基数16,遵循逢16进位数码16个:09,A,B,C,D,E,F,十六进制数数值大小计算:(BF3C8)16 或 BF3C8 H=11 163+15 16 2+3 161+12 160+8 16-1=489565D十六进制数 十进制数,14,常用计数制

6、的表示法,15,二、各进制数间的转换,1.非十进制数到十进制数的转换,按相应进位计数制的权表达式展开,再按十进制求和。,例如:(11010.101)2=(?)10,16,2.十进制到非十进制数的转换,十进制 二进制的转换:整数部分:除2取余;小数部分:乘2取整。十进制 十六进制的转换:整数部分:除16取余;小数部分:乘16取整。以小数点为起点求得整数和小数的各个位。,整数部分:除2取余,商零为止,结果先低后高,例1 十进制数 二进制数125.125D 二进制数,2 125 取余 2 62 1 低位 2 31 0 2 15 1 2 7 1 2 3 1 2 1 1 0 1 高位 先低后高,故:12

7、5D=111 1101B,20,3.二进制与十六进制间的转换,二进制数转换成十六进制数用4位二进制数表示1位十六进制数 例:(0101 1000 1001.1100 5 8 9.C,21,3.二进制与十六进制间的转换,十六进制数转换成二进制数用1位十六进制数表示4位二进制数 例:(1863.5B)16=(?)2(1 8 6 3.5 B)16(0001 1000 0110 0011.0101 1011)2(1863.5B)16)2,八进制数、十六进制数与 二进制数的相互转换,例:八进制:2 5 7 0 5 5 4,二进制:010 101 111 000 101 101 100,十六进制:A F

8、1 6 C,因此,(257.0554)8=(10101111.0001011011)2,=(AF.16C)16,十进制数与二进制数之间的转换需计算,不直观;二进制表示的数位多不便于书写、阅读;十六进制数与二进制数间转换方便、直观,相对于二进制数,十六进制数书写、阅读相对方便。,思考:计算机采用二进制形式表示数据和指令,在书写,显示上引进十六进制的意义是什么?计算机内部使用十六进制吗?,十进制转换为N进制转换口诀:整数部分除基取余(首次余数为代码整数最低位);小数部分乘基取整(首次整数为小数点后最高位).可形象记忆为:小数点两边走;,小结:数的转换N进制转换为十进制将各位之位权与对应之幂相乘展开

9、,再累计求和即可;十进制转换为N进制将整数和小数分开,分别转换后再拼接。,25,复习-2 数的表示方法,真值与机器数数的定点和浮点表示方法原码、反码、补码常用编码,26,真值与机器数,1、真 值:直接用+和表示符号的二进制数,不能在机器使用.,2、机器数:将符号数值化了的二进制数,可在机器中使用。,3、一般将符号位放在数的最高位。,27,例:真值与机器数,机器数,+77,真值,机器数/真值,符号位,28,例:真值与机器数,机器数,-77,真值,机器数/真值,符号位,29,2 数的定点与浮点表示,计算机中如何表示实数中的小数点呢?,计算机中不用专门的器件表示小数点,而是用数的两种不同的表示法来表

10、示小数点的位置。,根据小数点的位置是否固定,数的表示方法分为定点表示和浮点表示,相应的机器数称为定点数和浮点数。,任意一个二进制数N均可表示为:NS2J 其中:S称为数N的尾数,表示数N的全部有效数字,决定了N的精度。J称为数N的阶码,底为2,指明了小数点的位置,决定了数N的大小范围。,30,(1)定点表示法 计算机在处理定点数时,常把小数点固定在数值位的最后面或最前面,即分为定点纯小数与定点纯整数两类,如图1-6所示。,例如:00011000B,如果看作定点纯整数,其真值为24 看作定点纯小数,其真值为0.1875,31,定点小数:,定点整数:,定点数,符号位,隐含小数位(+0.5),符号位

11、,隐含小数位(-3),32,(2)浮点表示法,在浮点表示法中,小数点的位置是浮动的,阶码J可取不同的数值,则在计算机中除了要表示尾码S,还要表示阶码J。因此,一个浮点数表示为阶码和尾数两部分,尾数一般是定点纯小数,阶码是定点纯整数,其形式如图1-7所示。,33,23 22 16 15 14 0,浮点数,34,(469.375)10(111010101.011)2(229(221001B补1001B补00001001B,例如,某计算机用32位表示浮点数,尾数部分占24,为补码定点纯小数;阶码为8位补码定点纯整数。用来表示一个数469.375,先进行变换:,因此,数469.375在该计算机中的浮点

12、表示为:,35,浮点数,例:X=+10110.01=2+101(+0.1011001),36,浮点数,例:X=-0.001011001=2-010(-0.1011001),37,无符号数 二进制数的各位均表示数值大小,最高位无符号意义。例 1111 0000 B=F0H=1516=240D 1001 0001 B=91H=916+1=145 D,应用场合:处理的数全是正数时,如表示地址的数,38,带符号数 数有正、负 带符号数 通常数的最高位为符号位,对于字长8位机器数:D7为符号位:0表示“+”,1表示“-”。符号数码化了。D6D0为数字位。如:X=(01011011)2=+91 X=(11

13、011011)2=-91连同符号位在一起作为一个数称为机器数,机器数的数值称为的真值。如:N1=+1011011 N2=-1011011 为真值 0 1011011 1 101 1011 为机器数符号数码化了,对数据进行运算时,符号位应如何处理?把符号位和数值位一起编码:原码,反码,补码。,39,在计算机中符号也用二进制数表示 把符号位和数值位一起编码:原码,反码,补码。原码:正数符号位用“0”表示,负数符号用“1”表示,这种表示法称为原码。,X=+105 X原=0 1101001X=-105 X原=1 1101001,例:,符号 数值,原码表示简单,真值 转换方便,减法不方便。引进反码,补码

14、。,反码:正数反码:表示与原码相同,(最高位“0”表示正,其余位为数值位。)负数的反码:表示为负数原码的符号位不变尾数按位取反。,+4反=0 0000100-4反=1 1111011+127反=0 1111111-127反=1 0000000+0反=0 0000000-0反=1 1111111,例:,补码:正数的补码表示与原码相同,(最高位 用“0”表示正,其余位为数值位.)负数的补码表示为它的反码+1。,+127原=0 1111111+0原=0 0000000-127反=1 0000000-0反=1 1111111-127补=1 0000001-0补=0 0000000,42,补码的含义:以

15、时钟对时为例来说明,现由7点钟调到4点钟。,顺时针调:79 4(mod 12),逆时针调:73 4(mod 12),由于时钟上超过12点时就会自动丢失一个数12,这个自动丢失的数叫做“模”(module,简写为mod),43,已知补码求真值:已知正数的补码求真值与原码相同,只要将符号位的0变为(正号),即得到它的真值。已知负数的补码求真值方法1:将负数补码的数值位按位取反再加1,将符号位的1变为(负号),即得到它的真值。方法2:用公式:X=-(2n-X补)已知 补码为 01111111B,其真值为+1111111B=+7FH 已知 补码为 11111111B,其真值为:10000000B+1=

16、10000001B,其真值为01H或:X=(28 11111111B)=(00H-FFH)=1,44,(1)求补运算 对一个二进制数按位取反,最低位加1。等价于:0-该二进制数,45,例:对 8 位二进制数 11110001B进行求补运算,46,(2)补码在计算机中,用补码表示带符号数。,补码的表示方法:正数的补码:最高位为 0,其它各位为数字位,表示数的大小。负数的补码:通过对该数正数的补码进行求补运算得到。负数的补码最高位为 1。,47,例 求 105D 的补码,正数的补码:最高位为0 其它各位为数字位,表示数的大小。,48,例 求 105D的补码,负数的补码:通过对该数正数的补码进行求补

17、运算得到。,49,(3)补码的真值计算 真值:补码表示的数值大小。,50,求补码真值的方法:先判断是正数,还是负数。由最高位判断:0 正数 1 负数 再求数值大小 对正数,补码的真值等于该二进制数值。对负数,先对该数进行求补运算,再求数值大小。,51,例 求补码7D H 的真值:7D H=0111 1101B,最高位为0,是正数 7DH的真值=7 16+13=125 D,(4)用补码表示带符号数的意义 计算机中用补码表示带符号数。,将减法用加法实现,省去减法器,简化硬件。,计算机中,减法实现过程:(补码减法)先对减数进行求补运算(求反加1,也是加法)再将求补后的数与被减数相加 相加的结果即为用

18、补码表示的两数相减结果。,计算机中实现过程:,无符号数及带符号数的加减运算用同一电路完成。,例:8位运算器,即指令系统中加、减运算不区分无符号数或带符号数。,55,思考:计算机能自动识别无符号数和符号数吗?,凡是能在计算机内存储或参与运算的都是二进制形式的机器数,计算机只能出别“0”和“1”,对于某个二进别致的最高位究竟应看做为符号位还是数值位,理论上是无法自动识别的,只能靠用户在编写程序时做到心中有数”。对于8位二进制数看成字节无符号数,其表示范围是0-255(00HFFH);看成字节符号数,其表示范围是-128+127(80H7FH)。,计算机所进行的运算都是无符号数运算,既把符号数的符号

19、位当做数值进行运算,又把所有数的运算结果当做符号数来影响溢出标志位。,56,思考:计算机能自动识别无符号数和符号数吗?,但是,由于引入了补码概念,使得计算机在进行无符号数和有符号数的运算时能够实现操作的一致性,且结果合理。例如,将无符号数1FH与D0H相加,或是将符号数1FH与D0H相加,其结果都是EFH。编制无符号数加法程序的用户则会将该结果的真值认为是239,即31+208,而编制符号数加法程序的用户则会将该结果的真值认为是-17,即31+(-48)。,57,二进制编码 计算机处理的信息:数值、字符(字母、汉字等)各字符在计算机中由若干位的二进制数表示 二进制数与字符之间一一对应的关系,称

20、字符的二进制编码。,58,计算机编码,BCD码(余三码/8421码),国标码(7445),ASCII码,汉字编码,字符编码,二进制编码的十进制数,59,二-十进制(BCD)码,人们通常使用十进制来计数,而计算机则采用二进制,所以必须对十进制的0一9这十个数字进行二进制编码。但从二进制数直接看出所对应的十进制数是比较困难的。虽然我们学过二十进制的转换,但这种转换比较慢,这是一个明显的缺点。为此,人们提出了一个比较适合十进制的二进制码的特殊形式,即二十进制码,通常用英文字母BCD表示,BCD码具有二进制和十进制两种数制的某些特征。,60,二-十进制(BCD)码,BCD码以二进制数表示十进制数的编码

21、,一般采用4位二进制数来表示l位十进制数(即压缩BCD码)。其特点是:4位之内为二进制关系,每4位之间为十进制关系。用途:方便计算机对十进制数的直接输入、输出、存储及运算.,61,二-十进制(BCD)码,BCD码有两种表示法:压缩BCD码和非压缩BCD码。压缩BCD码的每一位用4位二进制表示,00001001表示09,一个字节表示两位十进制数。非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的00001001表示09。,BCD码的运算,BCD码运算,压缩的BCD码,45+45 8A,非BCD码,0100 0101+0100 0101 1000 1010,调整,BCD码的运算

22、,思考:BCD码的加法运算中为什么要加6来调整?,BCD码的权值(Weights)都不相同,分別是8,4,2,1也因此,BCD码又被称为8421码。BCD码的加减法完全模仿十进制的作法,逢十进位,可是4位元的二进位数字要达到2的4次方16才会进位,这中间差6,因此,在BCD码作加的运算时,我们应将其结果再加6,以强迫进位。至于减法,A-BA(B的10补数),则可用加法來完成减法的运算。,思考:BCD数是十进制数,为何也以H为单位?与十六进制数的区别何在?,BCD数的特点是用4位二进制数编码来表示1位十进制数,那么8位二进制数可以去示两位BCD数。例如十进制数29的BCD数在计算机内存放的二进制

23、码形式为:0010100lB,为了书写方便,再将二进制数的式样写成十六进制数的式样,那就变成了29H。有的教科书为了将BCD数29与普通十六进制数29H区分开,规定将BCDD数29写成29BCD的形式,但由于它在计算机中的存放形式仍然是00101001B,用十六进制数来记忆和书写仍然是29H,所以很少有人用麻烦的“BCD”书写形式,而是约定俗成地沿用“H“这个单位。,思考:BCD数是十进制数,为何也以H为单位?与十六进制数的区别何在?,也就是说,十进制数29的BCD数本应该写成29BCD,但因为它在计算机内存放为二进制数00101001B,即十六进制数29H,所以我们可以简单地把任意一个两位十

24、进制数XY写成机内表示形式:XYH。或许有人会问,当计算机内放置的是29H时,它到底是普通的十六进制数呢,还是BCD数29?这要看当初这个数据是以何种“身份”存入的,或者要根据程序的上下文来判断。例如,欲让计算机来执行29+18?,可以先将两个加数分别转为二进制数(1DH和12H)之后,再调用二进制数的加法程序计算1DH+12H,最后再将结果转回十进制数;也可以用BCD形式直接存入两个加数29H和18H,再调用BCD数的加法程序来完成29H+18H。这时的结果就是BCD数,不必再转换了。,66,ASCII码(美国标准信息交换码),American Standard Code for Infor

25、mation Interchange采用7位二进制代码对字符进行编码ASCII码是一种8位代码,最高位一般用于奇偶校验,用7值代码来对128个字符编码,其中32个是控制字符,96个是图形字符。,3位组,4位组,ASCII(美国标准信息交换码)微机中普遍采用的字符编码,如键盘、打印机、显示器等,数字09的编码是01100000111001(30H39H),它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。英文字母AZ的ASCII码从1000001(41H)开始顺序递增,字母az的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。,68,ASCII码美国标准信息交换代码,69,课堂作业:,1、计算机中常用的码制有原码、反码和。2、-54的原码是,反码是,补码是;3、十六进制数09,AF对应的ASCII码 是(),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号