资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,数据在计算机中的运算及表示形式,第,1,章,数据在计算机中的运算及表示形式,本章主要内容,(1),进位记数制,(2)不同进位制数之间的转换,(3) 二进制数的算术运算和逻辑运算,(4)数据在计算机中的表示形式,(5) 二进制信息的计量单位,1.1,进位记数制,计算机中全部信息包括指令和数据都是采用二进制数,为了书写方便,又经常采用十六进制。人们在日常生活中又广泛采用十进制。,二进制、十六进制、十进制都是进位记数制。,1.1.1,进位记数制及其基数和权,进位记数制:用一组固定的数字符号和特定的规那么表示数的方法。,基数和权,在进位记数制中,一种进位制所允许选用的根本数字符号的个数称为这种进位制的基数。,同一个数字符号处在不同的数位时,它所代表的数值是不同的,每个数字符号所代表的数值等于它本身乘以一个与它所在数位对应的常数,这个常数叫做位权,简称权weight。,不同进位制的基数不同,十进制:基数,10,,数字符号,0,9,二进制:基数,2,,数值符号,0,,,1,同一进制,不同数位其权值不同。,1.1.2,几种常用的进位记数制,1.,十进制,任何一个十进制数,都可以用一个多项式来表示:,等式右边的表示形式,称为十进制数的,多项式表示法,也叫按权展开式,;,等号左边的形式,称为十进制的位置记数法。位置记数法是一种与位置有关的表示方法,同一个数字符号处于不同的数位时,所代表的数值不同,即其权值不同。,2. 二进制,二进制数的基数为2,即它所用的数字符号个数只有两个“0和“1。它的计数进位规那么为“逢二进一。,二进制数只有两种数字符号,因而便于数字系统与电,子计算机内部的表示与存储。,它的另一个优点是运算规那么的简便性,而运算规那么的简单,必然导致运算电路的简单以及相关控制的简化 。,3. 八进制,八进制数的基数R8,每位可能取八个不同的数字符号07中的任何一个,进位规那么是“逢八进一。,1位八进制对应3位二进制,八进制: 0, 1, 2, 3, 4, 5, 6, 7,二进制:000,001,010,011,100,101,110,111,4. 十六进制,十六进制数的基数R16,每位用十六个数字符号0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F中的一个表示,进位规那么是“逢十六进一。,与二进制转换时候,其每位对应4位二进制数。,在编程时,为了书写方便,常用十六进制表示。,1.2,不同进位制数之间的转换,1.2.1,二进制数转换为十进制数,按权展开,例如,(101015.101),2,(,2,5,2,3,2,1,2,0,2,-,1,2,-,3,),10,(32,8,2,1,0.125),10,(43.625),10,同样的方法也可将八进制数转换为十进制数。,这种用以实现数制转换的方法,称为多项式替代法。,1.2.2,十进制数转换为二进制数,1.,十进制整数转换为二进制整数,除,2,取余,例如十进制数,29,的转换。,2 9,2,1 4,余数1 B0 ,7,2,2,3,2,1,2,0,余数0 B1 ,余数1 B2 ,余数1 B3 ,余数1 B4 , 29D=11101B,采用“除8取余或“除16取余的方法,即可将一个十进制整数转换为八进制整数或十六进制整数。,这种数制转换的方法称为基数除法或“除基取余法。可概括为:“除基取余,直至商为0,注意确定高、低位。,2.,十进制小数转换为二进制小数,乘,2,取整,例,把转换成二进制数,把乘,2,取整,2,B,-1,=1,2,B,-2,=0,0. 5,2,B,-3,=1,在十进制小数转换成二进制小数时,整个计算过程可能无限地进展下去,这时,一般考虑到计算机实际字长的限制,只取有限位数的近似值就可以了。,上述这种数制转换方法称为基数乘法或“乘基取整法。可概括如下:“乘基取整,注意确定高、低位及有效位数。,如果一个数既有整数局部又有小数局部,那么用前述的“除基取余及“乘基取整 结合求解。,计算机中常用的进位计数制,计数制 基数 数 码 进位关系,二进制 2 0、1 逢二进一,八进制 8 0、1、2、3、4、5、6、7 逢八进一,十进制 10 0、1、2、3、4、5、6、7、8、9 逢十进一,十六进制 16 0、1、2、3、4、5、6、7、8、9,A、B、C、D、E、F 逢十六进一,计数制的书写规那么,1在数字后面加写相应的英文字母作为标识。,如:二进制数的100可写成100B,十六进制数100可写成100H,2在括号外面加数字下标。,如:10112 表示二进制数的1011,2DF216 表示十六进制数的2DF2,数值转换重点要掌握以下内容:,1,、进制:二、十、十六,2,、转换:,十转二:由二进制数的位权决定,二进制位权是:,1,、,2,、,4,、,8,、,16,、,32,、,64,、,128,、,256,、,512,、,1024,、,2048,、,4096,、,8192,、,16384,、,32768,、,65536,例:,187,转为二进制为,1011 1011,187-,128,=59 59-,64,=-5 59-,32,=27 27-,16,=11,4,位,2,进制 与,10,进制、,16,进制 的关系,2,进制,10,进制,16,进制,2,进制,10,进制,16,进制,0000 0 0 1000 8 8,0001 1 1 1001 9 9,0010 2 2 1010 10 A,0011 3 3 1011 11 B,0100 4 4 1100 12 C,0101 5 5 1101 13 D,0110 6 6 1110 14 E,0111 7 7 1111 15 F,二与十六进制的关系:,4,位,2,进制等于,1,位,16,进制,例:,110,1101,0010B,= 6D2H,例:,3AB4H=0011 1010 1011 0100 B,十转十六:十二十六,十六转十:十六二十,十六进制数的运算1十六进制加法 十六进制数的运算按照逢十六进一的规那么进展,即当两个一位数之和S小于16时,与十进制数同样处理,如两个一位数之和S16时,那么应该用S-16及进位1来取代S。 十六进制的加法 15C3H 3D45H 5308H,十六进制数的减法 十六进制数的减法与十进制数类似,够减时可以直接相减,不够减时服从向高位借1为16的规那么。 十六进制的减法例如 3DA6H 0FC3H 2DE3H,1.3,二进制数的算术运算与逻辑运算,1.3.1 二进制数的算术运算,加法运算规那么:逢二进一,减法运算规那么:借一当二,乘法运算规那么:000, 010 , 100 ,111,例如:1101x1010=1101110,二进制的乘法可以归结为:“加和“移位。,除法运算:乘法的逆运算。,以二进制的乘法及减法规那么实现。,1.3.2,二进制数的逻辑运算,逻辑运算与算术运算有着本质上的差异,它是按位进展的,其运算的对象及运算结果只能是0和1这样的逻辑量。,这里的0和1并不具有数值大小的意义,而仅仅具有如“真和“假、“是和“非这样的逻辑意义。,二进制数的逻辑运算实际上是将二进制数的每一位都看成逻辑量时进展的运算。,根本的逻辑运算有逻辑“或、逻辑“与和逻辑“非三种,常用的还有逻辑“异或运算。,(1) “或运算逻辑加,逻辑和;运算符号+,V,A B,C = A + B,0 0,0 1,1 0,1 1,0,1,1,1,(2) “与运算逻辑乘,逻辑积; 运算符号 ,A B,C = A B,0 0,0 1,1 0,1 1,0,0,0,1,(3) “非运算运算符号 , ,A,C =,0,1,1,0,(4) “异或运算,“异或又称模2加,其运算规那么是:0和任何数相“异或该数不变,1和任何数相“异或该数变反。可简述为“一样得0,不同得1。其运算符号为“ 。如下所示:,0 00 0 11 1 01 1 10,例 0110 10011111,“异或运算常用于将一个二进制数的某些位变反而其余各位不变。例如,欲使的最低两位变反而其余各位不变,就可以用与之进展“异或运算来完现。即:,1 0 1 0 1 1 0 0, 0 0 0 0 0 0 1 1,1 0 1 0 1 1 1 1,1.3.3,移位运算,1.逻辑移位,逻辑左移:,将操作数的所有位同时左移,最高位移出原操作数之外,最低位补0。逻辑左移一位相当于无符号数乘2。,例如,将逻辑左移一位后变成,相当于,101102202 。,逻辑右移:,将操作数的所有位同时右移,最低位移出原操作数之外,最高位补0。逻辑右移一位相当于将无符号数除以2。例如,将逻辑右移一位后变成,相当于148274 。,循环左移:将操作数的所有位同时左移,并将移出的最高位送到最低位。循环左移的结果不会丧失被移动的数据位。例如,将循环左移一位后变成。,循环右移:将操作数的所有位同时右移,并将移出的最低位送到最高位。它也不会丧失被移动的数据位。例如,将循环右移一位后变成。,2. 算术移位,算术移位是把操作数当作带符号数进展移位,所以在,算术移位中,必须保持符号位不变。否那么将发生溢出。,与逻辑移位类似,算术移位可分为算术左移、算术右,移、循环左移和循环右移。循环左移和循环右移的操作,与前述逻辑移位时的情况一样,都是不丧失移出原操作,数的位,而将其返回到操作数的另一端。,1.4,数据在计算机中的表示形式,电子计算机实质上是一个二进制的数字系统,在机器,内部,二进制数总是存放在由具有两种相反状态的存储,元件构成的存放器或存储单元中,即二进制数码0和1是,由存储元件的两种相反状态来表示的。,另外,对于数的符号正号“和负号“也只能,用这两种相反的状态来区别。也就是说,只能用0或1来,表示。,1.4.1,机器数与真值,例1. 正二进制数,N1=+1011001,,在计算机中可表示为:,0,1,0,1,1,0,0,1,符号位,数值位,例2. 负二进制数,N1=-1011001,,在计算机中可表示为:,1,1,0,1,1,0,0,1,符号位,数值位,定义:一个数连同符号在机器中加以数码化后的表示形式,,称为机器数;而把机器数所代表的实际值称为机器数的真值。,机器数的符号,在算术运算中,数据是有正有负的,将这类数据称为带符号数。,为了在计算机中正确地表示带符号数,通常规定每个字长的最高位为符号位,并用0表示正数,用1表示负数。,机器数中小数点的位置,在机器中,小数点的位置通常有两种约定:,一种规定小数点的位置固定不变,这时的机器数称为“定点数。,另一种规定小数点的位置可以浮动,这时的机器数称为“浮点数。,1.,4.2,常见的机器数表示形式,1. 原码,约定数码序列中的最高位为符号位,符号位为0表示该数为正数,为1表示该数为负数;其余有效数值局部那么用二进制的绝对值表示。,例如: 真值x x原,1001 01001,1001 11001,定点数又有定点小数和定点整数之分,下面分别给出定点小数和定点整数的原码定义。, 假设定点小数原码序列为x0. x1x2 xn ,那么,x原= x 0x1,1-x -1x0,式中x代表真值,x原为原码表示的机器数。,例如:,x,那么x原,x,那么x原 =1-(-0.1011), 假设定点整数原码序列为x0 x1 x2 xn ,那么,x原= x 0x2n,2n - x -2nx0,例如:,x1011,那么x原=01011,x1011,那么x原=24 (1011)=10000+1011=11011,对于原码表示,具有如下特点:,原码表示中,真值0有两种表示形式。,以定点小数的原码表示为例:,+0原=0.000 -0原=1-(-0.000)=1+0.000=1.000, 在原码表示中,符号位不是数值的一局部,它们仅是人为约定“0为正,1为负,所以符号位在运算过程中需要单独处理,不能当作数值的一局部直接参与运算。,带符号数的原码、反码、补码表示,1原码:正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。用这样的表示方法得到的就是数的原码。,当机器字长为8位二进制数时:,X1011011 X原码,Y1011011 Y原码,1原码00000001 1原码,127原码01111111 127原码,原码表示的整数范围是:,2n-112n-11,其中n为机器字长。,那么:8位二进制原码表示的整数范围是127127,16位二进制原码表示的整数范围是3276732767,原码表示法也称为符号数值表示法,,X原=符号位+|X|。,符号位用0-正数,符号位用1-负数,其余位表示数的大小。,例:X=+0.1011 X原=01011,X=-0.1011 X原=11011,缺点:,运算加、减法复杂,低效,0有两个表示 +0: 00000 0: 10000,原码表示简单直观,而且容易由其真值求得,相互转换也较方便。但计算机在用原码做加减运算时比较麻烦。,比方当两个数相加时,如果是同号,那么数值相加,符号不变;如果是异号,那么数值局部实际上是相减,此时必须比较两个数绝对值的大小,才能确定谁减谁,并要确定结果的符号。,这在手工计算时是容易解决的,但在计算机中,为了判断同号还是异号,比较绝对值的大小,就要增加机器的硬件设备,并增加机器的运行时间。,2. 补码,定点小数补码定义如下:, 假设定点小数的补码序列为X0 . X1Xn ,那么,式中,x 代表真值, 为补码表示的机器数。, 假设定点整数的补码序列为 ,那么,例如:,x=+0.1011, 那么x补,x=-0.1011, 那么x补,对于补码表示,具有如下特点:, 与原码表示不同,补码的符号位是数值的一局部,因此在补码运算中符号位像数值位一样直接参加运算。, 在补码表示中,真值0只有一种表示,即000。,由原码转换为补码的规律,当x0时,原码与补码的表示形式完全一样;,当x0时,从原码转换为补码的变化规律为:“符号位保持不变仍为1,其他各位求反,然后末位加1,简称“求反加1。,例如:x,那么x原,x补,x,那么x原,x补,容易看出,当x0时,假设把x补除符号位外“求反加1,即可得到x原。也就是说,对一个补码表示的数,再次求补,可得该数的原码。,3补码,正数的补码与其原码一样,负数的补码为其反码在最低位加1数值位按位变反,末位加一。,1X1011011 2 Y1011011,1根据定义有: X原码01011011X补码,2 根据定义有: Y原码11011011 Y反码10100100,Y补码,补码表示的整数范围是2n-12n-11,其中n为机器字长。,那么:8位二进制补码表示的整数范围是128127,16位二进制补码表示的整数范围是3276832767,当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。,补码twos complement:,即X,微机原理,微机原理,微机原理,大写字母,数字,61H-7Ah 41H-5AH 30H-39H,键盘输入:A5B9$ 回车、换行,A-0100 0001 41H,5-0011 0101 35H,B-0100 0010 42H,9-0011 1001 39H,$-0010 0100 24H,回车0000 1101 0DH,换行-0000 1010 0AH,2024/9/30,微机原理,87,小型案例实训,案例,1,数制转换,(1),将、,327H,、,FFH,、转换成十进制数。,101101.101B=12,5,+02,4,+12,3,+12,2,+02,1,+12,0,+12,-1,+02,-2,+12,-3,11011.101B=12,4,+12,3,+02,2,+12,1,+12,0,+12,-1,+02,-2,+12,-3,101.01B =12,2,+02,1,+12,0,+02,-1,+12,-2,= 2,2,+ 2,0,+ 2,-2,375.42O = 38,2,+ 78,1,+ 58,0,+ 48,-1,+ 28,-2,0ABC.DEH=1016,2,+1116,1,+1216,0,+1316,-1,+1416,-2,327H=316,2,+216,1,+716,0,=807,FFH=1516,1,+1516,0,=255,3AB.11H=316,2,+1016,1,+1116,0,+116,-1,+116,-2,Thank You !,不尽之处,恳请指正!,
展开阅读全文