计算机组成与体系结构-数值表示范围-浮点数计算
数值表示范围(考试会考,原码的范围等。送分题)
定点整数 与 定点小数
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 协议》,转载必须注明作者和本文链接