数据在计算机中的运算及表示形式



《数据在计算机中的运算及表示形式》由会员分享,可在线阅读,更多相关《数据在计算机中的运算及表示形式(88页珍藏版)》请在装配图网上搜索。
1、,,,,,,,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,,,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,,*,,,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,,*,,,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,,*,Click to
2、 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,进位记数制,计算机中全部信息〔包括指令和数据〕都是采用二进制数,为了书写方便,又经常采用十六进制。人们在日常生活中又广泛
3、采用十进制。,二进制、十六进制、十进制都是进位记数制。,1.1.1,进位记数制及其基数和权,进位记数制:用一组固定的数字符号和特定的规那么表示数的方法。,基数和权,在进位记数制中,一种进位制所允许选用的根本数字符号的个数称为这种进位制的基数。,同一个数字符号处在不同的数位时,它所代表的数值是不同的,每个数字符号所代表的数值等于它本身乘以一个与它所在数位对应的常数,这个常数叫做位权,简称权〔weight〕。,不同进位制的基数不同,十进制:基数,10,,数字符号,0,~,9,,二进制:基数,2,,数值符号,0,,,1,同一进制,不同数位其权值不同。,1.1.2,几种常用的进位记数制,1.,十进制,
4、任何一个十进制数,都可以用一个多项式来表示:,,等式右边的表示形式,称为十进制数的,多项式表示法,也叫按权展开式,;,等号左边的形式,称为十进制的位置记数法。位置记数法是一种与位置有关的表示方法,同一个数字符号处于不同的数位时,所代表的数值不同,即其权值不同。,2. 二进制,二进制数的基数为2,即它所用的数字符号个数只有两个〔“0〞和“1〞〕。它的计数进位规那么为“逢二进一〞。,,二进制数只有两种数字符号,因而便于数字系统与电,子计算机内部的表示与存储。,,它的另一个优点是运算规那么的简便性,而运算规那么的简单,必然导致运算电路的简单以及相关控制的简化 。,,,3. 八进制,八进制数的基数R=
5、8,每位可能取八个不同的数字符号0~7中的任何一个,进位规那么是“逢八进一〞。,,1位八进制对应3位二进制,八进制: 0, 1, 2, 3, 4, 5, 6, 7,二进制:000,001,010,011,100,101,110,111,4. 十六进制,十六进制数的基数R=16,每位用十六个数字符号0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F中的一个表示,进位规那么是“逢十六进一〞。,,与二进制转换时候,其每位对应4位二进制数。,,在编程时,为了书写方便,常用十六进制表示。,1.2,不同进位制数之间的转换,1.2.1,二进制数转换为十进制数,按权展开,例如,(101
6、015.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 〕,,,,,,∴
7、 29D=11101B,,采用“除8取余〞或“除16取余〞的方法,即可将一个十进制整数转换为八进制整数或十六进制整数。,,这种数制转换的方法称为基数除法或“除基取余〞法。可概括为:“除基取余,直至商为0,注意确定高、低位〞。,,2.,十进制小数转换为二进制小数,—,乘,2,取整,,,,,,,,例,,把转换成二进制数,把乘,2,取整,,×,2,———,,B,-1,=1,,,,×,2,———,,B,-2,=0,0. 5,×,2,———,,B,-3,=1,,,,在十进制小数转换成二进制小数时,整个计算过程可能无限地进展下去,这时,一般考虑到计算机实际字长的限制,只取有限位数的近似值就可以了。,上述
8、这种数制转换方法称为基数乘法或“乘基取整〞法。可概括如下:“乘基取整,注意确定高、低位及有效位数。〞,如果一个数既有整数局部又有小数局部,那么用前述的“除基取余〞及“乘基取整〞 结合求解。,计算机中常用的进位计数制,,计数制 基数 数 码 进位关系,二进制 2 0、1 逢二进一,八进制 8 0、1、2、3、4、5、6、7 逢八进一,十进制 10
9、 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〕在括号外面加数字下标。,如:〔1011〕2 表示二进制数的1011,〔2DF2〕16 表示十六进制数的2DF2,数值转换重点要掌握以下内容:,1,、进制:二、十、十六,2,、转换:,十转二:由二进制数的位权决定,二进制位权是:,1,、,2,、,4,
10、、,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
11、 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
12、 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时,与十进制数同样处理,如两个一位数之和S≥16时,那么应该用S-1
13、6及进位1来取代S。 十六进制的加法 15C3H +3D45H 5308H,十六进制数的减法 十六进制数的减法与十进制数类似,够减时可以直接相减,不够减时服从向高位借1为16的规那么。 十六进制的减法例如 3DA6H -0FC3H
14、 2DE3H,1.3,二进制数的算术运算与逻辑运算,1.3.1 二进制数的算术运算,加法运算规那么:逢二进一,减法运算规那么:借一当二,乘法运算规那么:0×0=0, 0×1=0 , 1×0=0 ,1×1=1,例如:1101x1010=1101110,,二进制的乘法可以归结为:“加〞和“移位〞。,除法运算:乘法的逆运算。,以二进制的乘法及减法规那么实现。,1.3.2,二进制数的逻辑运算,逻辑运算与算术运算有着本质上的差异,它是按位进展的,其运算的对象及运算结果只能是0和1这样的逻辑量。,这里的0和1并不具有数值大小的意义,而仅仅具有如“真〞和“假〞、“是〞和“非〞这样的逻辑意义。,二进制数
15、的逻辑运算实际上是将二进制数的每一位都看成逻辑量时进展的运算。,根本的逻辑运算有逻辑“或〞、逻辑“与〞和逻辑“非〞三种,常用的还有逻辑“异或〞运算。,(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) “非〞运算〔运算符号—
16、— -, 〕,,A,,C =,0,1,1,0,(4) “异或〞运算,“异或〞又称模2加,其运算规那么是:0和任何数相“异或〞该数不变,1和任何数相“异或〞该数变反。可简述为“一样得0,不同得1〞。其运算符号为“⊕ 〞。如下所示:,0 ⊕ 0=0 0 ⊕ 1=1 1 ⊕ 0=1 1 ⊕ 1=0,例 0110 ⊕ 1001=1111,“异或〞运算常用于将一个二进制数的某些位变反而其余各位不变。例如,欲使的最低两位变反而其余各位不变,就可以用与之进展“异或〞运算来完现。即:,1 0 1 0 1 1 0 0,⊕ 0 0 0 0 0 0 1
17、 1,1 0 1 0 1 1 1 1,,,,,1.3.3,移位运算,1.逻辑移位,逻辑左移:,将操作数的所有位同时左移,最高位移出原操作数之外,最低位补0。逻辑左移一位相当于无符号数乘2。,例如,将逻辑左移一位后变成,相当于,〔101〕10×2=202 。,逻辑右移:,将操作数的所有位同时右移,最低位移出原操作数之外,最高位补0。逻辑右移一位相当于将无符号数除以2。例如,将逻辑右移一位后变成,相当于148÷2=74 。,,循环左移:将操作数的所有位同时左移,并将移出的最高位送到最低位。循环左移的结果不会丧失被移动的数据位。例如,将循环左移一位后变成。,循环右移:将操作数的所有位
18、同时右移,并将移出的最低位送到最高位。它也不会丧失被移动的数据位。例如,将循环右移一位后变成。,2. 算术移位,算术移位是把操作数当作带符号数进展移位,所以在,算术移位中,必须保持符号位不变。否那么将发生溢出。,与逻辑移位类似,算术移位可分为算术左移、算术右,移、循环左移和循环右移。循环左移和循环右移的操作,与前述逻辑移位时的情况一样,都是不丧失移出原操作,数的位,而将其返回到操作数的另一端。,1.4,数据在计算机中的表示形式,电子计算机实质上是一个二进制的数字系统,在机器,内部,二进制数总是存放在由具有两种相反状态的存储,元件构成的存放器或存储单元中,即二进制数码0和1是,由存储元件的两种相
19、反状态来表示的。,,另外,对于数的符号〔正号“+〞和负号“-〞〕也只能,用这两种相反的状态来区别。也就是说,只能用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,符号位,,数值位,定义:一个数〔连同符号〕在机器中加以数码化后的表示形式,,称为机器数;而把机器数所代表的实际值称为机器数的真值。,机器数的符号,在算术运算中,数据是有正有负的,将这类数据称为带符号数。,为了在计算机中正确
20、地表示带符号数,通常规定每个字长的最高位为符号位,并用0表示正数,用1表示负数。,机器数中小数点的位置,在机器中,小数点的位置通常有两种约定:,一种规定小数点的位置固定不变,这时的机器数称为“定点数〞。,另一种规定小数点的位置可以浮动,这时的机器数称为“浮点数〞。,1.,4.2,常见的机器数表示形式,1. 原码,约定数码序列中的最高位为符号位,符号位为0表示该数为正数,为1表示该数为负数;其余有效数值局部那么用二进制的绝对值表示。,例如: 真值x [x]原,+,-,+1001 01001,-1001 110
21、01,定点数又有定点小数和定点整数之分,下面分别给出定点小数和定点整数的原码定义。,① 假设定点小数原码序列为x0. x1x2… xn ,那么,[x]原= x 0≤x<1,1-x -1<x≤0,式中x代表真值,[x]原为原码表示的机器数。,例如:,x=+,那么[x]原,x=-,那么[x]原 =1-(-0.1011),② 假设定点整数原码序列为x0 x1 x2… xn ,那么,[x]原= x 0≤x<2n,2n - x -2n<x≤0,,,例如:,x=+1011,那么[x]原=01011,x=-1011,那么[x]原=24 –(–10
22、11)=10000+1011=11011,对于原码表示,具有如下特点:,① 原码表示中,真值0有两种表示形式。,以定点小数的原码表示为例:,[+0]原=0.00…0 [-0]原=1-(-0.00…0)=1+0.00…0=1.00…0,② 在原码表示中,符号位不是数值的一局部,它们仅是人为约定〔“0为正,1为负〞〕,所以符号位在运算过程中需要单独处理,不能当作数值的一局部直接参与运算。,带符号数的原码、反码、补码表示,1.原码:正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。用这样的表示方法得到的就是数的原码。,当机器字长为8位二进制数时:,X=+1011011
23、 [X]原码=,Y=+1011011 [Y]原码=,[+1]原码=00000001 [-1]原码=,[+127]原码=01111111 [-127]原码=,原码表示的整数范围是:,-〔2n-1-1〕~+〔2n-1-1〕,其中n为机器字长。,那么:8位二进制原码表示的整数范围是-127~+127,16位二进制原码表示的整数范围是-32767~+32767,,原码表示法也称为符号—数值表示法,,[X]原=符号位+|X|。,符号位用0---正数,符号位用1---负数,其余位表示数的大小。,例:X=+0.1011 [X]原=01011,
24、X=-0.1011 [X]原=11011,缺点:,运算〔加、减法〕复杂,低效,0有两个表示 +0: 00000 –0: 10000,原码表示简单直观,而且容易由其真值求得,相互转换也较方便。但计算机在用原码做加减运算时比较麻烦。,比方当两个数相加时,如果是同号,那么数值相加,符号不变;如果是异号,那么数值局部实际上是相减,此时必须比较两个数绝对值的大小,才能确定谁减谁,并要确定结果的符号。,这在手工计算时是容易解决的,但在计算机中,为了判断同号还是异号,比较绝对值的大小,就要增加机器的硬件设备,并增加机器的运行时间。,2. 补码,定点小数补码定义如下:,① 假设定点小数的
25、补码序列为X0 . X1…Xn ,那么,,,式中,x 代表真值, 为补码表示的机器数。,② 假设定点整数的补码序列为 ,那么,例如:,x=+0.1011, 那么[x]补,x=-0.1011, 那么[x]补,对于补码表示,具有如下特点:,① 与原码表示不同,补码的符号位是数值的一局部,因此在补码运算中符号位像数值位一样直接参加运算。,② 在补码表示中,真值0只有一种表示,即00…0。,由原码转换为补码的规律,当x>0时,原码与补码的表示形式完全一样;,当x<0时,从原码转换为补码的变化规律为:“符号位保持不变〔仍为1〕,其他各位求反,然后末位加1〞,简称“求反加1〞。
26、,例如:x=,那么[x]原=,[x]补=,x=-,那么[x]原=,[x]补=,容易看出,当x<0时,假设把[x]补除符号位外“求反加1〞,即可得到[x]原。也就是说,对一个补码表示的数,再次求补,可得该数的原码。,3.补码,正数的补码与其原码一样,负数的补码为其反码在最低位加1〔数值位按位变反,末位加一〕。,〔1〕X=+1011011 〔2〕 Y=-1011011,〔1〕根据定义有: [X]原码=01011011[X]补码=,〔2〕 根据定义有: [Y]原码=11011011 [Y]反码=10100100,[Y]补码=,补码表示的整数范围是-2n-1~+〔2n-1-1〕,其中
27、n为机器字长。,那么:8位二进制补码表示的整数范围是-128~+127,16位二进制补码表示的整数范围是-32768~+32767,当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。,补码〔two’s complement〕:,即X<0时,符号位为1,数值位取反后再加1。,例如:X=+0.1011 [X]补=0.1011,X=-0.1011 [X]补=1.0101,补码的特点:,1、数值0的补码表示形式是唯一的,即:,[+0]补=[-0]补,2、补码表示的范围:,n=8位:,纯小数:〔-1〕,纯整数:〔+127〕--10000000〔-128〕,n=16位纯整数: :
28、,0111 1111 1111 1111—1000 0000 0000 0000,〔+32767 -- -32768〕,补码的特殊数:以8位补码表示-128为例,-128=-10000000(加负号共9位〕,求补:先不管负号,数值的补码为,1 0 0 0 0 0 0 0,这里的1是数值,但它出现在最高位上。,最高位是符号位,由于该数是负数,也应该为1,这样负号1与数值1正好重叠表示在最高位。,所以可以用8位表示-128。,利用这一特性,补码的纯小数可以表示-1,但它是纯小数。,补码与真值之间的转换,,正数补码的真值等于补码的本身;负数补码转换为其真值时,将负数补码按位求反,末位加1,即可得
29、到该负数补码对应的真值的绝对值。,[X]补码=01011001B,[X]补码=11011001B,分别求其真值X。,〔1〕[X]补码代表的数是正数,其真值:,X=+1011001B,=+〔1×26+1×24+1×23+1×20〕,=+〔64+16+8+1〕,=+〔89〕D,〔2〕[X]补码代表的数是负数,那么真值:,X=-〔[1011001]求反+1〕B,=-〔+1〕B,=-〔〕B,=-〔1×25+1×22+1×21+1×20〕,=-〔32+4+2+1〕,=-〔39〕D,求补码的简便方法:,1、但凡末位=1,前面的位按位变反,末位不变。,例如:-1100111的补码是10011001,2、但凡
30、某位=1,后面的位为全0,那么该位前面的位按位变反,该位及以后的位不变。,例:-1101000的补码是10011000,注意:,正数的原码、反码、补码、真值均一样,负数的原码、反码、补码、真值各不一样。,补码可将减运算自动转换为加运算,可对正负数不用对符号判断直接运算,大大简化了机器的运算器设计。,补码做的是有模运算,超过最大模的模值自然丧失,但要注意与溢出的区别。,模:一个N位数的最大表示量,例:2位十进制可表示00—99,模为100,例:计数窗(3位---模值=1000〕,000,进1 001 退1 999〔-1〕,进2 002
31、 退2 998〔-2〕,进3 003 退3 997〔-3〕,计算:先进3再退2,000+003=003-002=001(用了减运算〕,000+003=003+998=1 001=001,1-------1000,运算中超过最大模,自然丧失,定点补码加法运算溢出判断,补码加:[X]补+ [Y]补= [X+Y]补,补码减:[X]补- [Y]补= [X]补+[- [Y]补],=[X]补+[- Y ]补=[X-Y]补,[- Y ]补---求机器负数,方法:连同符号位一起按位变反,末位加一,不管正负,溢出:超过数值位最大允
32、许表示的范围。,现象:由于溢出产生的进借位会破坏正确的符号,出现正数+正数,结果为负数;负数+负数,结果为正数。,例如:01111111 +127,+ 00000001 + (+1),10000000 (-128),溢出产生:,正数+负数或负数+正数: 无溢出,正数+正数,结果为正数: 无溢出,负数+负数,结果为负数: 无溢出,正数+正数,结果为负数: 有溢出,负数+负数,结果为正数: 有溢出,例 设,X=+01010,Y=+00101,,求,[X+Y],补,=,?,解:第一步,----,求,[X],补,、,[Y],补,,[X],补,=01010 [Y
33、],补,= 00101,,第二步,---,计算,[X+Y],补,,01010,+ 00101,,01111,[X+Y],补,= 01111,,例:,设,X=+1010,Y= -0101,,求,[X+Y],补,=,?,解:第一步,----,求,[X],补,、,[Y],补,,[X],补,=01010 [Y],补,= 11011,,第二步,---,计算,[X+Y],补,,01010,+ 11011,,00101,[X+Y],补,= 00101,,②补码的加、减法运算补码的加法规那么是: [X+Y]补=[X]补+[Y]补补码的减法规那么是:
34、 [X-Y]补=[X]补+[-Y]补其中的[-Y]补只要对[Y]补求补就可得到。,机器字长假定为8位机器字长假定为8位,完成以下补码加法运算。① 十进制 二进制 23 00010111 +36 +00100100 59 00111011,,36 00100100,+〔-23〕 + 11101001 13 〔进位1〕,③ 23 00010111,+〔-36〕
35、 +,-13 11110011,,-23 11101001,+〔-36〕 +,-59 〔进位1〕,,36 00100100,机器字长假定为8位,完成以下补码减法运算.,十进制 补码 二进制,① 23 00010111 00010111,-36 00100100 +,-13 11110011,② 3
36、6 00100100 00100100,-〔-23〕 11101001 +,59 00111011,③ -23 11101001 11101001,-〔+36〕 00100100 +,-59 〔进位为1〕,,④ -23 11101001 11101001,-〔-36〕 11011100 +,13 〔进位为1〕,3. 反码,定点小数反码定义如下:,① 假设定点小数的反码序列为X0 . X1…Xn ,那么,,,式中,x代表真值,[x]反为补码表示的机器数。,② 假设定点整数的补码序列为
37、 ,那么,反码,对于一个带符号的数来说,正数的反码与其原码一样,负数的反码为其原码除符号位以外的各位按位取反。,当机器字长为8位二进制数时:,X=+1011011 [X]原码=01011011 [X]反码=,Y=-1011011 [Y]原码=11011011 [Y]反码=,[+1]反码=00000001 [-1]反码=,[+127]反码=01111111 [-127]反码=,负数的反码与负数的原码有很大的区别,反码通常用作求补码过程中的中间形式。,反码表示的整数范围与原码一样。,,反码与原码相比,两者的符号位一样。即对于正数,符号位为0;对于负数
38、,符号位为1。在数值局部,对于正数,反码的数值局部与原码按位一样;对于负数,反码的数值局部是原码的按位求反。,,0的反码有两种表示,分别为全0或者全1。,,由原码表示容易得到相应的反码表示。例如:,x=+,[x]原=,[x]反=,x=-,[x]原=1.1001,[x]反=1.0110,4. 原码、反码、补码之间的转换,转换规那么如以下图所示:,5. 移码表示法,设定点整数移码形式为 ,那么,其中,式中x为真值,[x]移为其移码。,把真值x在数轴上向正方向平移 单位,移码由此得名。又叫增码。,移码特点:,1〕移码是把真值映射到一个正数域,因此移码的大
39、小可以直观地反映真值的大小。无论是正数还是负数,用移码表示后,可以按无符号数比较大小。,2〕移码的数值局部与相应的补码各位一样,而符号位与补码相反。在移码中符号位为0表示真值为负数,符号位为1表示真值为正数。,3〕移码为全0时,它对应的真值最小。,4〕真值0在移码中的表示是唯一的,即:,6.机器数形式的比较和小结,① 原码、补码、反码和移码均是计算机能识别的机器数,机器数与真值不同,它是一个数〔连同符号〕在计算机中加以数码化后的表示形式。,,② 正数的原码、补码和反码的表示形式一样,负数的原码、补码和反码各有不同的定义,它们的表示形式不同,相互之间可依据特定的规那么进展转换。,③ 四种机器数形
40、式的最高位均为符号位。原码、补码和反码表示中,为0表示正数,为1表示负数;在移码表示中,为0表示负数,为1表示正数。,,④ 原码、补码和反码既可用来表示浮点数中的尾数,又可用来表示其阶码;而移码那么主要用来表示阶码。,,⑤ 0在补码和移码表示中都是唯一的,0在原码和反码表示中都有两种不同的表示形式。,1.4.3,数的定点表示与浮点表示,1. 定点表示法,定点小数、定点整数,2. 浮点表示法,编码格式:通常由尾数和阶码组成;其中尾数表示有效数字,阶码表示小数点位置。表示如下:,,其中M是尾数,R是基数〔常取2〕,E是阶码,S是符号位。,在计算机中表示形式为:,其中S是符号位,E是阶码,M是尾数。
41、,S,E,M,浮点数的规格化:不丧失有效数字,提高运算精度。,1〕如果阶码以2为底,那么规格化浮点数的尾数M的绝对值应满足:,2〕对于原码,M1=1;,3〕对于补码,正数时,M1=1,负数时M1=0;即“尾数最高位与符号位相反〞即为判断浮点数是否为规格化数的标志。,例,,将浮点数 转换为规格化表示。,解:该数据为负数,符号为为,1,,尾数的补码为,由规格化步骤,将尾数左移,2,位,阶码减,2,,从而使小数点后第一位为,0,,规格化后为:,,IEEE 754标准:对浮点数的编码格式的标准化,以便于实现不同计算机之间的软件移植。,其中的浮点编码有32位、64位和8
42、0位三种格式,分别称为短实数〔Short real〕、长实数〔Long real〕和临时实数〔Temporary real〕。,短实数:,,,其中:S为符号位,E为阶码,M是尾数。,31,30,23,22,0,S,E,7,E,0,M,1,M,23,在IEEE754浮点数格式中,符号位S仍然用0表示正数,1表示负数。对于32位格式,阶码为8位,正常数的阶码E的取值范围为1~254,偏移值为127;,尾数M可以取任意的23位二进制数值,加上隐含的M0〔=1〕位,可到达24位的运算精度。,阶码E是一个带偏移的无符号整数,从中减去相应的偏移值即为浮点数的实际阶码值。,例,试,给出十进制数的,IEEE7
43、54,单精度数标准代码。,解,先将,-0.625转换为二进制形式为-0.101,相应的浮点数表示形式为,,再,转换为,IEEE 754,标准的规格化形式为:,。再由,IEEE754,单精度数值公式转换,可得到,,E=126=01111110,,所以的,IEEE754,单精度标准代码为:,S=1,;,E=01111110,,,M,1,~,M,23,=,0,,例,试给出如下,IEEE 754单精度标准代码的十进制数表示,S,=0,,,E=,,,M,1,~M,23,=,1,;,解,S=0,,,E=10000011B=131D,,规格化的尾数为;由,IEEE 754,单精度标准的数值公式,可得所求十进
44、制为:,,.4,二-十进制编码,用几位二进制码来表示一位十进制数的方法称为十进制数的二进制编码,简称,BCD,码(,Binary Code Decimal)。,,常见的,BCD,码有8421码、余3码、格雷码等。平常说到,BCD,码,通常指的是8421码。,,组合BCD码和别离BCD码,组合BCD码(packed BCD):每个字节存放两个十进制数字。,例如, (9502)10的组合BCD码格式为:,1001 0101 0000 0010,别离BCD码(unpacked BCD):每个字节存放一个十进制数字〔占低四位,高4位无关紧要〕,2024/9/30,>>,微机原理,<<,76,计算机中的
45、数据表示及编码,,,BCD码,,,BCD码是一种用4位二进制数字来表示一位十进制数字的编码,也称为二进制编码表示的十进制数〔Binary Code Decimal〕,简称BCD码。最常用的方法是8421BCD码,8,4,2,1分别是4位二进制数的位权值。,2024/9/30,>>,微机原理,<<,77,,十进制数,,BCD,码,,十进制数,,BCD,码,,0,,1,,2,,3,,4,,0000,,0001,,0010,,0011,,0100,,5,,6,,7,,8,,9,,0101,,0110,,0111,,1000,,1001,二进制编码的十进制数,(BCD,码,),用假设干二进制数码表示一
46、位十进制数的方法统称BCD码。,例:用,4,位二进制编码,表示一位十进制数,十进制数,BCD,数,,0,——,0000,1,——,0001,2,——,0010,,…,7,——,0111,8,——,1000,9,——,1001,(1) 8421,码,用四位二进制数表示每一位十进制数的数位,且编码的权从左至右分别是,8,、,4,、,2,、,1,①,,非压缩,BCD,②,,压缩,BCD,(2) 8421,码的形式,①,,非压缩,BCD,,非压缩,BCD,码用一个字节表示一位十进制数,一般只用低,4,位。,十进制数,BCD,数,,0,——,0000 0000,1,——,0000 0001,2,——,0
47、000 0010,,…,9,——,0000 1001,10,——,0000 0001 0000 0000,,…,27,——,0000 0010 0000 0111,②,压缩,BCD,高,4,位、低,4,位分别表示一位十进制数。,十进制数,BCD,数,,0,——,0000 0000,1,——,0000 0001,2,——,0000 0010,,…,9,——,0000 1001,10,——,0001 0000,,…,27,——,0010 0111,2024/9/30,>>,微机原理,<<,82,,计算机中的数据表示及编码,,,ASCII,码,,,,ASCII,码是美国国家标准局制订的一套标准化
48、信息交换码 。,ASCII,码使用,7,位或,8,位二进制数表示,128,或,256,种字符。,标准,ASCII,码使用,7,位二进制数来表示所有的大写和小写字母,数字,0,到,9,、标点符号,以及在美式英语中使用的特殊控制字符。,扩展,ASCII,码允许将每个字符的第,8,位用于确定附加的,128,个特殊符号字符、外来语字母和图形符号。,ASCII码,,ASCII码,全称为“美国标准信息交换代码(American Standard Code for Information- Interchange) 。根本ASCII码共有128个,其中控制符32个,数字10个,大写英文字母26个,小写英文字
49、母26个,以及专用符号34个。,ASCII,码表,,ASCII,码特征,每一个ASCII码存放在一个字节中,低7位为有效编码位,最高位可用于校验位或用于ASCII码的扩大。,字符大小比较,实际上是比较ASCII码值的大小。,,小写字母,>,大写字母,>,数字,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,
50、换行---0000 1010 0AH,,2024/9/30,>>,微机原理,<<,87,,小型案例实训,案例,1,——数制转换,(1),将、、、、、,327H,、,FFH,、转换成十进制数。,101101.101B=1×2,5,+0×2,4,+1×2,3,+1×2,2,+0×2,1,+1×2,0,+1×2,-1,+0×2,-2,+1×2,-3,11011.101B=1×2,4,+1×2,3,+0×2,2,+1×2,1,+1×2,0,+1×2,-1,+0×2,-2,+1×2,-3,101.01B =1×2,2,+0×2,1,+1×2,0,+0×2,-1,+1×2,-2,= 2,2,+ 2,0,+ 2,-2,375.42O = 3×8,2,+ 7×8,1,+ 5×8,0,+ 4×8,-1,+ 2×8,-2,0ABC.DEH=10×16,2,+11×16,1,+12×16,0,+13×16,-1,+14×16,-2,327H=3×16,2,+2×16,1,+7×16,0,=807,FFH=15×16,1,+15×16,0,=255,3AB.11H=3×16,2,+10×16,1,+11×16,0,+1×16,-1,+1×16,-2,Thank You !,不尽之处,恳请指正!,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。