您的位置:首页 > 其它

数的定点表示和数的浮点表示

2017-12-05 16:00 309 查看
数的定点表示:

小数点按照约定的形式给出。在计算机里面没有专门的硬件用来表示小数点, 所谓的小数点都是计算机体系设计人员按照约点的形式给出的。按照约定的方式, 可以将计算机分为两种:一种是小数点在数符后面数值前面, 一种是数值后面。如图:



前面这种称为小数定点机, 后面的称为整数定点机。

下面是这两种形式计算机的表示范围:



浮点表示:

为什么要引入浮点表示?

1, 最早的计算机只有两种表示方式:小数定点机和整数定点机。如果计算很大的数值时需要程序员手动调节小数点的位置

编程困难。

2,数的表示范围很小, 为了表示相差很大的数据, 往往需要很大的机器字长。

3, 数据利用率不高, 用很大的机器字长时, 有很多位都是 0 。

浮点表示形式:



r 可以为2, 4,8,16 等, 下面是一个例子。



注意 阶码 是二进制的。 计算机中可以使用的只有两种(前面打钩), 其中第二种称为规格化数:即小数第一位为 1(r = 2) .

浮点数在计算机里面的表示形式:



浮点数的规格化问题:

浮点数为什么要规格化?

尾数的机器字长是有限的, 如果小数点后面有效数字很少的话, 那么数的精度就会降低; 所以为了保证精度,需要规格化。

什么是规格化?

浮点数的规格化形式与基值 r 是有关系的, 因为尾数是二进制, 如果 r = 2, 那么小数点后面第一数为 1, 称为规格化数。

如果r = 4, 那么小数点后面两位不全为 0 , 那么称为规格化数, 同理, 如果r = 8, 就是小数点后面 3 位不全为 0.

如何进行规格化?

左移右移的问题, 左移称为左规, 右移称为右规。



基数 r 越大, 可表示的浮点数的范围越大, 浮点数的精度就降低。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: