有谁知道如何出去解决这个问题?
* a = 1.0 × 2^9
* b = −1.0 × 2^9
* c = 1.0 × 2^1
使用浮点数(表示使用 14 位格式,5 位用于偏置为 16 的指数,8 位归一化尾数,数字为单符号位),执行以下两个计算,支付密切注意操作顺序。
* b + (a + c) = ?
* (b + a) + c = ?
有谁知道如何出去解决这个问题?
* a = 1.0 × 2^9
* b = −1.0 × 2^9
* c = 1.0 × 2^1
使用浮点数(表示使用 14 位格式,5 位用于偏置为 16 的指数,8 位归一化尾数,数字为单符号位),执行以下两个计算,支付密切注意操作顺序。
* b + (a + c) = ?
* (b + a) + c = ?
S EEEEE MMMMMMMM
0 11001 10000000 a
1 11001 10000000 b
0 10001 10000000 c
0 11001 00000000 c, denormalized (uh oh!)
如果我做对了,看起来你不能将 c 非规范化为 a 的指数,所以你最终用相同的指数将 1 加到 -1,所以你最终得到 0。我相信这是一个教训以浮点格式将小数添加到大数的限制。
我把第二个问题留给你...
要完成此练习,您只需按照添加步骤进行操作,如此处所述: http ://en.wikipedia.org/wiki/Floating_point#Addition_and_subtraction