《(6)--3数值数据的表示方法 —机器码表示(2).ppt》由会员分享,可在线阅读,更多相关《(6)--3数值数据的表示方法 —机器码表示(2).ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数的机器码表示(2)对于定点小数,设x反=x0.x1x2xn,共n+1位,其中x0为符号位,则:x反=x,0 x12n (22n)+x,(12n)x0 3.反码表示法对于定点整数,设x反=x0.x1x2xn,共n+1位,其中x0为符号位,则:x反=x,0 x2n 1 (2n+11)+x,(2n1)x0 3.反码表示法对于真值x,求它的反码可以描述为:不管是定点小数还是定点整数,一个正数的反码的符号位为0,数值位为原来的;一个负数的反码的符号位为1,数值位按位取反。【例2.8】已知x1=0.1110,x2=0.0001,求x1反、x2反。解:x1反=0.1110 x2反=1.1110【例2.9】
2、已知x1=0100,x2=1101,求x1反、x2反。解:x1反=00100 x2反=10010对于定点小数,+0反=0.0000,-0反=1.1111;对于定点整数,+0反=00000,-0反=11111;特别地,对于真值零,其反码有正零和负零之分,即零的反码表示不唯一。所以,对于定点小数和定点整数,零的表示各有两种形式:如果已知一个数的反码,求它的真值的方法是:对于定点小数,若符号位为0,则该数为正数,反码表示的数即为真值;若符号位为1,则该数为负数,将符号位1还原成负号“”,整数位为0,数值位按位取反。如果已知一个数的反码,求它的真值的方法是:对于定点整数,若符号位为0,则该数为正数,将
3、符号位0还原成正号“+”或缺省,数值位是原来的;若符号位为1,则该数为负数,将符号位1还原成负号“”,数值位按位取反。【例2.10】已知x1反=1.1011,x2反=0.0001,y1反=01001,y2反=11001,求x1、x2、y1、y2。解:x1=0.0100 x2=0.0001y1=1001y2=01104.移码表示法移码通常用于表示浮点数的阶码,一定为整数。x移=2n+x,2nx2n1 对于定点整数,设x移=x0 x1x2xn,共n+1位,其中x0为符号位,则移码表示定义为:特别地,对于真值整数零,其移码表示是唯一的,即:+0移=0移=10000可以证明,真值x的补码与移码的区别仅
4、在于符号位刚好相反。因此,若已知一个数的真值要求其移码,可以先求出这个数的补码,再将符号位取反,即可得该数的移码表示。【例2.11】已知x1=0001,x2=1100,求x1补、x2补、x1移、x2移。解:x1补=11111x2补=01100 x1移=01111x2移=11100反过来,若已知一个数的移码表示要求其真值,可以先将移码的符号位取反得到该数的补码表示,再将补码转换成该数的真值。X0X1 X2 Xn-1 Xn 1 1 1 10机器码X0X1 X2 Xn-1 Xn机器码X0X1 X2 Xn-1 Xn 1 1 1 10机器码X0X1 X2 Xn-1 Xn机器码X0X1 X2 Xn-1 X
5、n 0 0 0 10机器码X0X1 X2 Xn-1 Xn机器码X0X1 X2 Xn-1 Xn 0 0 0 10机器码X0X1 X2 Xn-1 Xn机器码X0X1 X2 Xn-1 Xn 0 0 0 11机器码X0X1 X2 Xn-1 Xn 1 1 1 01机器码X0X1 X2 Xn-1 Xn 1 1 1 11机器码X0X1 X2 Xn-1 Xn 0 0 0 11机器码X0X1 X2 Xn-1 Xn 1 1 1 11机器码X0X1 X2 Xn-1 Xn 0 0 0 01机器码X0X1 X2 Xn-1 Xn 0 0 0 01机器码X0X1 X2 Xn-1 Xn【例2.12】若机器字长为32位,浮点数
6、的表示格式中阶符占1位,阶码值占7位,数符占1位,尾数值占23位,阶码和尾数均用补码表示。则该浮点数所能表示的最大正数、最小正数、最大负数和最小负数各是多少?1位位 7位位 1位位 23位位 解:该浮点数的表示格式如图所示:阶符阶符阶码值阶码值数符数符尾数值尾数值当M取最大正数1-223,且E也取最大正数27-1=所表示的浮点数为最大正数,即(1-223)2127;当M取最大正数1-223,且E也取最大正数27-1=127时,当M取最大正数1-223,按照题意,阶码和尾数均用补码表示,根据浮点数的表示格式与真值之间的关系N=M2E,有:1位7位1位23位阶符阶码值E(补码)数符尾数值M(补码)
7、0111111.11101111111当M取最大正数1-223,且E也取最大正数27-1=12所表示的浮点数为最小正数,即2232128=2151;当M取最大正数1-223且E取最小负数-27=-128时,当M取最小正数223,000000.00111000000n+1位机器字长采用补码表示时,可表示的最小负数为-2n1位7位1位23位阶符阶码值E(补码)数符尾数值M(补码)按照题意,阶码和尾数均用补码表示,根据浮点数的表示格式与真值之间的关系N=M2E,有:当M取最大正数1-223,且E也取最大正数27-1=12所表示的浮点数为最大负数,即(223)2128=2151;当M取最大正数1-22
8、3且E取最小负数-27=-128时,当M取最大负数-223,100000.00111000000n+1位机器字长采用补码表示时,可表示的最小负数为-2n1位7位1位23位阶符阶码值E(补码)数符尾数值M(补码)按照题意,阶码和尾数均用补码表示,根据浮点数的表示格式与真值之间的关系N=M2E,有:当M取最大正数1-223,且E也取最大正数27-1=1所表示的浮点数为最小负数,即(1)2127=2127;当M取最大正数1-2且E取最大正数27-1=127时,当M取最小负数-1,110000.00001111111n+1位机器字长采用补码表示时,可表示的最小负数为-2n1位7位1位23位阶符阶码值E(补码)数符尾数值M(补码)按照题意,阶码和尾数均用补码表示,根据浮点数的表示格式与真值之间的关系N=M2E,有: