计算机组成与体系结构-数值表示范围-浮点数计算

数值表示范围(考试会考,原码的范围等。送分题)

计算机组成与体系结构-数值表示范围-浮点数计算

定点整数 与 定点小数

1.0 就是定点整数

1.3646416 定点小数

诸如此类

公式是如何得来的

这里我们 来一个 4位的, 就是 n= 4

那么这里我们 取值范围 就是(首位表示正负),则 111 就是最大
取出正负,
换算就是 1111到 0111.
然而我们是如何求值的呢? 就是 2^2 + 2^1 + 2^0 = 7 得到就是 【-7,7】
则这其实可以转化为 2^3-1 = 7

所以带入,公式 2^n-1 - 1 公式成立

定点整数计算

计算机组成与体系结构-数值表示范围-浮点数计算

定点小数计算

计算机组成与体系结构-数值表示范围-浮点数计算

浮点数计算

表示

在数学中,要表示一个很大的数时,我们常常使用一种称为科学计数法的方式:

N=M*Re

其中M称为尾数,e是指数,R为基数。

浮点数就是使用这种方法来表示大范围的数,其中指数一般是2,8,16。而且对于特定机器而

言,指数是固定不变的,所以在浮点数中指数并不出现。从这个表达式可以看出:浮点数表示的精

读取决于尾数的宽度,范围取决于基数的大小和指数的宽度。

运算过程

浮点数的运算主要有三个步骤:对阶、尾数计数、结果格式化。

(1)对阶

首先计算两个数的指数差,把指数小的向指数大的对齐,并将尾数右移指数差的位数,这样两

个浮点数就完成了对阶的操作。

对阶的例子

3.14 * 10^3 + 1.15*10^5
换算

0.0314 * 10^5 + 1.15*10^5

可以看出,对阶的过程可能使得指数小的浮点数失去一些有效位。

如果两个浮点数阶数相差很大,大于指数小的浮点数的尾数宽度,那么对阶后那个浮点数的尾数就

变成了0,即当做机器零处理了。

(2)尾数计算

对阶完成后,两个浮点数尾数就如同定点数,计算过程同定点数计算。

(3)结果格式化

尾数计算后,可能会产生溢出,此时将尾数右移,同时指数加1,如果指数加1后发生了溢出,

则表示两个浮点数的运算发生了溢出。

如果尾数计算没有溢出,则尾数不断左移,同时指数减1,直到尾数为格式化数。如果这个过程

中,指数小于机器能表达的最小数,则将结果置“机器零”,这种情况称为下溢。

特点

计算机组成与体系结构-数值表示范围-浮点数计算

本作品采用《CC 协议》,转载必须注明作者和本文链接
嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步! 公众号:上海PHP自学中心 付费知识星球:破解面试:程序员的求职导师
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
司机 @ 欣昊玉
文章
273
粉丝
339
喜欢
557
收藏
1103
排名:64
访问:12.1 万
私信
所有博文
社区赞助商