《微机运算基础.ppt》由会员分享,可在线阅读,更多相关《微机运算基础.ppt(57页珍藏版)》请在三一办公上搜索。
1、1,微机运算基础,主要内容进位计数制进位数制之间的转换二进制编码二进制数的运算数的定点与浮点表示带符号数的表示法,2,基本概念1,【进位计数制】:利用符号按照进位原则来计数的方法,一种进位计数制包含一组数码符号和两个基本因素(基数,权)。【数码(Number)】:用不同的数字符号来表示一种数制的数值,这些数字符号称为“数码”。例如:十进制数码(0,1,2,9)【基数(Radix,也称底数)】:数制中所使用的数码个数称为该计数制的“基数”。例如:十进制有10个数码,因此基数为10,逢十进一,进位计数制,3,【位权(Weight)】:某数制中,每一位所具有的值称为“位权”,用基数的n次幂来表示。例
2、如:十进制中位权表示为,10-2(百分位),10-1(十分位),100(个位),101(十位)结论:十进制是人们最熟悉的,二进制在计算机内使用,八进制和十六进制则可看成二进制的压缩形式。,基本概念2,进位计数制,4,十进制(Decimal Number),进位计数制,5,二进制(Binary Number),结论:计算机内使用的是二进制编码(也称为基2码),容易实现、规则简单、运算方便。,进位计数制,6,八进制(Octale Number),进位计数制,7,十六进制(Hexadecimal Number),进位计数制,8,小结,进位计数制,9,方法1:按权展开多项式和的形式,二进制数转换为十进
3、制数,10,整数部分(从最高位开始,连续乘2)假设5位二进制整数N,表示为,方法2:整数部分、小数部分分别转换,二进制数转换为十进制数,11,小数部分(从最低位开始,连续除2)假设4位二进制小数N,表示为,二进制数转换为十进制数,12,整数部分(除2逆取余),175,2,87,2,1,43,2,1,21,2,1,2,1,5,2,0,2,2,1,1,2,0,0,1,余数,最低位,最高位,所以:175 D=10101111 B,10,十进制数转换为二进制数,13,小数部分(乘2顺取整),0.625,.250,整数,最低位,最高位,所以:0.625 D=0.101 B,.500,2,x,.000,2
4、,x,2,x,1,0,1,十进制数转换为二进制数,14,整数部分:从小数点左边第一位开始,每3位一组,最高位不足补0。,二进制转换为八进制,例如:二进制整数 10101001B,转化为八进制数为,0 10 101 001 B,所以:10101001 B=251 Q,1,5,2,Q,八进制数与二进制数转换,15,小数部分:从小数点右边第一位开始,每3位一组,最低位不足补0。,例如:二进制小数.01101011B,转化为八进制数为,.011 010 11 0 B,所以:0.01101011 B=0.326 Q,八进制数与二进制数转换,16,将八进制数的每1位,用3位二进制数替代,去掉无意义的零。,
5、八进制转换为二进制,例如:八进制整数 352.14 Q,转化为二进制数为,011 101 010.001 100 B,所以:352.14 Q=11101010.0011 B,Q,八进制数与二进制数转换,17,按权位展开,然后相加,八进制数转换为十进制数,例如:八进制数 372.01 Q,转化为十进制数为,八进制数与十进制数转换,18,十进制数转换为八进制数,整数部分(除8逆取余),175,8,21,8,7,2,8,5,0,2,余数,最低位,最高位,所以:175 D=257 Q,八进制数与十进制数转换,19,小数部分(乘8顺取整),0.315,8,2.520,整数,最低位,最高位,所以:0.31
6、5 D=0.2412 Q,x,8,x,4.160,8,x,1.280,8,x,2.240,八进制数与十进制数转换,20,整数部分:从小数点左边第1位开始,每4位一组,最高位不足补0。,二进制转换为十六进制,例如:二进制整数110100110 B,转化为十六进制数为,000 1 1010 0110 B,所以:110100110 B=1A6 H,十六进制数与二进制数转换,21,小数部分 从小数点右边第1位开始,每4位一组,最低位不足补0。,例如:二进制小数.110101B,转化为十六进制数为,.1101 01 00 B,所以:0.110101 B=0.D4 H,十六进制数与二进制数转换,22,将十
7、六进制数的每1位,用4位二进制数替代,去掉无意义的0。,十六进制转换为二进制,例如:十六进制数 C8F.49 H,转化为二进制数为,1010 1000 1111.0100 1001 B,所以:C8F.49 H=1010 1000 1111.0100 1001 B,C 8 F.4 9 H,十六进制数与二进制数转换,23,十进制数转换为十六进制数,整数部分(除16逆取余),1192,16,74,16,8,4,16,A,0,4,余数,最低位,最高位,所以:1192 D=4A8 H,十六进制数与二进制数转换,24,小数部分(乘16顺取整),0.9032,16,E.4512,整数,最低位,最高位,所以:
8、0.9032 D=0.E738 H,x,16,x,7.2192,16,x,3.5072,16,x,8.1152,十六进制数与二进制数转换,25,小结,二进制、八进制、十六进制数转换为十进制数,只需按照位权展开,然后求和即可。十进制数转换为二进制数(或者八进制、十六进制数),整数部分采用“除2(或8、16)逆取余”方法,即第一个余数为最低位,最后一个余数为最高位。小数部分采用“乘2(或8、16)顺取整”方法,即第一个整数为最高位,最后一个整数为最低位。注意:小数转换不一定能算尽,只能算到一定精度的位数为止,故要产生一些误差。不过当位数足够多时,这个误差就很小了。,进位数制之间的转换,26,3.二
9、进制数转换为八进制数(或十六进制数),以小数点为分界线,3位(或4位)分为一组,最左与最右一组不足3位(或4位)时补零,然后每3位(或4位)写成对应的八进制数(或十六进制数)即可。八进制数(或十六进制数)转换为二进制数,每1位用相应的3位(或4位)二进制数代替即可,去除最高位前面和最低位后面多余的零。,进位数制之间的转换,27,二进制编码,BCD码:用二进制代码对十进制数进行编码,它既具有二进制码 的形式(四位二进制码),又有十进制数的特点(每四位二 进制码是一位十进制数)。二进制与BCD码之间的转换,需经过十进制。,二进制编码的十进制(BCD Binary Coded Decimal),28
10、,字母与字符的编码,美国国家信息交换标准码,ASCII码(American national Standard Code for Information Interchange)7位 ASCII 码表示 27128 种不同的字符,包括可显示字符(94个):阿拉伯数字(10个):09 英文大小写字母(52个):AZ,az 西文符号(32个):如!,.等控制符(34个):如 NUL(空白),CR(回车),等,二进制编码,29,一种数制的基本算术运算:加法和减法。利用加法和减法可进行乘法、除法以及其它数值运算。,二进制的算术运算,30,二进制加法,运算法则:,000 0111110(产生了进位1)1
11、1111(产生了进位1),结论:两个二进制数相加时,每一位是被加数、加数和低位的进位三个数的相加。,二进制的算术运算,31,二进制减法,运算法则:,000110101 011(产生了借位1),结论:两个二进制数相减时,每一位是被减数、减数和低位来的借位三个数的相减。首先求被减数与借位的差,再用这个差当作被减数,从中减去减数。,二进制的算术运算,32,二进制乘法,运算法则:,0 x001x111x000 x10,结论:在计算机中,乘法运算是用移位和相加的操作来实现。,二进制的算术运算,33,二进制除法,应用乘法规则可实现除法运算,从被除数最高位开始,找到足以减去除数的位数商1,再从被除数减去除数
12、,依次除下去,例如:100011B 除以101B,)1 0 0 0 1 1,101,1 0 1,1 1 1,1 0 1,1 0 1,1 0 1,0,被除数,余数,余数,余数,商,除数,0,0,0,1,1,1,二进制的算术运算,34,计算机中,0和1两种取值表示的变量称之为逻辑变量,代表所研究问题的两种状态或可能性。3种逻辑运算:逻辑加法(或运算),逻辑乘法(与运算),逻辑否定(非运算)逻辑运算只在对应位之间进行运算。,二进制的逻辑运算,35,与运算:,表示符号:“”或“”或“”,结论:只有参加运算的逻辑变量都取值为1时,其与运算的结果才等于1。,运算法则:0 00 1 11 1 00 0 10
13、,二进制的逻辑运算,36,或运算:,表示符号:“”或“”,结论:只要参加运算的逻辑变量中有一个为1,其或运算的结果就为1。,运算法则:0 00 0 11 1 01 111,二进制的逻辑运算,37,非运算:,又称为逻辑否定。逻辑变量上方加一横线表示。,运算法则:,二进制的逻辑运算,38,结论:参加运算的两个逻辑变量相同时,异或运算的 结果等于0。当两个逻辑变量不相同时,异或运算的结果为1。,异或运算:,异或运算表示符号。,运算法则:,0 0=01 1=00 1=10 1=1,二进制的逻辑运算,39,数的定点与浮点表示,在计算机中,用二进制表示一个带小数点的数有两种方法,即定点表示和浮点表示。相应
14、地,计算机按数的表示方法不同也可以分为定点计算机和浮点计算机两大类。,所谓定点表示,就是小数点在数中的位置是固定的;所谓浮点表示,就是小数点在数中的位置是浮动的。,40,定点表示(Fixed Point Number),定点数:小数点固定在数的某个位置,即阶码是固定值。计算机中没有专门表示小数点的位,小数点的位置是约定的。,任意一个二进制数可表示为:纯小数或纯整数与一个2的整数次幂的乘积,即,数的定点与浮点表示,41,如假定0,且尾数S为纯小数时,这时定点数只能表示小数。如假定0,且尾数S为纯整数时,这时定点数只能表示整数。定点数的两种表示法,在计算机中均有采用。究竟采用哪种方法,均是事先约定
15、的。,数的定点与浮点表示,42,计算机中,数的正负是用0(正)和1(负)来表示。,例如:8位二进制数,最左边第1位表示符号(称为符号位),其余7位可用来表示尾数。定点纯整数表示范围:无符号时,00000000 11111111,即 0255;有符号时,-1111111+1111111,即-127+127,数的定点与浮点表示,43,定点纯小数表示范围:,结论:定点数表示法简单直观,但是数值表示的范围太小,运算时容易产生溢出。,数的定点与浮点表示,44,浮点表示(Floating Point Number),浮点数:小数点的位置可以变动的,即阶码可以取不同的值。浮点表示法类似于十进制中的科学计数法
16、。,Pf,Sf,阶码符号,阶码,尾数符号,尾数,计算机中表示一个浮点数,要分为阶码和尾数两个部分来表示。阶码P:二进制整数表示,可为正数和负数,Pf 表示阶码符号;尾数S:二进制表示,可为正数和负数,Sf 表示尾数符号。,数的定点与浮点表示,45,为了不丢失有效数字,提高运算精度,采用二进制浮点规格化数。,浮点数可以表示成多种形式:,浮点规格化:尾数S的绝对值小于1而大于或等于1/2,即小数点后面的一位必须是1。,数的定点与浮点表示,46,例:二进制数1011.101,可写成 2100 0.1011101(相当于十进制数11.625),其浮点数表示为,浮点表示和定点表示相比,多了一个阶码部分。
17、,浮点表示范围(m 位阶码,n 位尾数):,阶码最小值,阶码最大值,数的定点与浮点表示,47,带符号数的表示法,机器数与真值,真值:把机器数实际代表的数称为机器数的真值。,符号数码化:将符号用“0正1负”表示,并以二进制数的最高位(D7位)作为符号位。,机器数:数据在计算机中连同数码化的符号位一起表示的编码数。,48,机器数的种类和表示方法,D7位作为符号位(0正1负),D6D0位为原来的二进制数值位。,原码,8位二进制,原码表示范围为:(127)D(127)D,结论:原码表示简单易懂,与真值的转换很方便。但在计算机中进行加减运算时比较麻烦。,带符号数的表示法,49,正数的反码:表示与其原码相
18、同,即符号位用“0”表示正,数字位为数值本身。,反码,负数的反码:将它的正数按位(包括符号位)取反形成的。,“0”的反码有两种表示法:00000000表示“0”,11111111表示“0”。8位二进制反码的数值范围:(127)D(127)D 一个带符号数用反码表示时,最高位为符号位。,带符号数的表示法,50,同一加法电路即可实现有符号数的相加,也可实现无符号数的相加,且可通过加法来实现减法运算;简化逻辑运算,提高速度,降低成本。,补码(微机中采用补码表示法),正数的补码:与其原码相同,即符号位用“0”表示正,数字位为数值本身。,负数的补码:反码加1。连同符号位,按位取反再加1。,带符号数的表示
19、法,51,+0补=-0补=00000000 8位二进制补码所能表示的数值为-128+127 最小的负数10000000B(-128D)当1个带符号数用8位二进制补码表示时,最高位为 符号位,其余7位为数字位。,补码结论,带符号数的表示法,52,补码的加法运算,符号位与数字位一起参加运算,运算结果也是补码;,X补+Y补=(2n+X)+(2n+Y)=2n+(X+Y)=X+Y补,结论:两数补码之和,等于两数和的补码。,带符号数的表示法,53,两数补码之差,等于两数差的补码。,补码的减法运算,X补+Y补=X补+-Y补=(2n+X)+2n+(-Y)=2n+(X-Y)=X-Y补,带符号数的表示法,54,溢
20、出概念,溢出:指带符号数的补码运算溢出。,字长n=8,二进制数补码运算范围为:-28-1+28-1-1,即-128+127,如果运算结果超出此范围,则产生溢出。,字长n=16,补码运算范围为:-216-1+216-1-1,即-32768+32767,如果运算结果超出此范围,则产生溢出。,带符号数字长为n,最高位表示符号,其余n-1位表示数值,补码运算范围为-2n-1+2n-1-1,如运算结果超出此范围,称补码溢出(简称溢出)。溢出时,将造成运算错误。,带符号数的表示法,55,判断溢出的方法,V=D7C D6C,V=1,表示有溢出;V=0,表示无溢出,根据参加运算的两个数符号及运算结果符号判断;利用双进位状态来判断,即符号位相加的进位状态数值部分的最高位相加的进位状态。,带符号数的表示法,56,溢出与进位:不同性质的概念,二者之间无必然联系。进位:运算结果的最高位向更高位的进位。,如有进位:D7C1 若D6C1,则 V=D7CD6C=1 1=0,表示无溢出;若D6C0,则 V=D7CD6C=1 0=1,表示有溢出;,如无进位:D7C0 若D6C1,则 V=D7CD6C=0 1=1,表示有溢出;若D6C0,则 V=D7CD6C=0 0=0,表示无溢出;,带符号数的表示法,57,Thank You!,