博客首页 | 排行榜 |

木头弯弯的小窝

好好学习 努力工作 冷藏感情

个人档案
博文分类
计算机中的定点数与浮点数  2007-11-28 11:08
计算机中的定点数与浮点数
作者:yuten 文章来源:本站原创 点击数: 1036 更新时间:2007-1-28 0:04:16
 

定点数与浮点数

    在计算机中必须有一定的方法来表示和处理小数点。计算机只能识别01两种信息,如果用01来表示小数点,则势必和数字位相混淆。事实上,对小数点来说,重要的不是小数点本身,而是它的位置。

    一个十进制数可写成一个纯小数乘上10的若干次方。相类似,一个二进制数可写成一个纯小数乘上2的若干次方,例如,11.01=22×O.1101。一般地,任一二进制数N(2)可表示N(2)=2J×s,其中J为二进制整数,s为二进制纯小数。称J为数N的阶码,2为阶码的底,S为数N的尾数。

    当用这样的形式表示数时,尾数5表示数Ⅳ的有效数字,阶码J指明了小数点的位置。前者是显然的。后者通过例子来说明。有两个数:N1=201×0.1011N2=210×0.1011,它们的尾数一样,但阶码不等(此例中阶码为二进制表示)。计算可得N1=1.011N2=10.1l,可见小数点的位置不同。这说明,两个数尾数相同、阶码不同,则小数点的位置就不同。换言之,尾数不变,阶码发生变化时,小数点的位置就要改变,即阶码指明了小数点的位置。

    计算机在具体实现时,有两种不同的做法:一种是J固定,称为定点表示;另一种是J可变,称为浮点表示。

    对于定点表示,常用两种方法。一是Jn(n为尾数的位数,即有效数字的位数),机器对写成2n×S的数进行运算,即对纯整数进行运算,这时小数点固定在最低位数字后面。

另一种是J0,机器对写成20×s的数进行运算,即对纯小数进行运算,这时小数点固定在最高位数字的前面。

    对于浮点表示,阶码、尾数都要表示出来,并且都要考虑符号。显然,尾数的符号就是整个浮点数的符号。尾数一般采用原码表示(也可以用补码表示)。为了方便阶码的比较和对(即让两个浮点数的阶码变成一致),阶码一般采用移码表示。对n位机器数,移码的定义为

    [X]移码=X+2 n1    2 n1X2 n1

    从这个定义可看到,移码实际是将数在数轴上平移了一段距离。

    浮点数在表示时一般采用下面的形式:

    阶码的底(2),因为对所有的浮点数都需要,所以不必表示出来。

    和机器数的概念一样,上述小数点的处理方法主要是用于汇编语言编程。限于篇幅,这里仅引入了概念。若要应用,尚须深入学习,浮点数运算有许多细节。

|
上一篇:zz 定点数与浮点数区别 | 下一篇:大家绝对不知道关于西安的58件事情!
以下网友评论只代表其个人观点,不代表本网站的观点或立场