我们有一个适合于16位的浮点码,符号是1位,指数是4位,显着性是11位。我读过关于浮点的文章,找到了归一化指数的范围。我认为这将是1-偏差和2^(exp-1) -1,导致范围为-6,7。
我还试图找出正非正化值的范围,代码的中值,正归一化值的中位数和正值的中值。
我知道要找到最大正归一化值,我需要计算0 0000 11111111111 (最小)和0 1110 11111111111 (最大)。另外,有多少不同的值可以被编码?会是2^16吗?
发布于 2016-10-19 14:12:10
只有当您使用ieee-754类格式时,以下内容才有意义,这是合理的,因为您似乎遵循了确定以上最大数字的标准。我从字面上理解了你暗示的问题,我希望它是有用的。
变性值的范围
0 0000 00000000000 - 0 0000 11111111111
那是0 to 2^-6 * (1-2^-11)
代码的中值
中介只是所有代码的“中间”。如果您按代码对所有内容进行排序,则以下是两个中心部分:
0 1111 11111111111
1 0000 00000000000
在NaN和负0之间!如果你想在零和NaN之间插入一个值,你的答案将是NaN。如果您只是按值排序,那么更有意义的说法是0.0是浮点数字的正常顺序的中心代码。
正归一化值的中值
我们需要找到射程的中间位置:
0 0001 00000000000
0 1110 11111111111
添加未计数的代码,将代码除以二。那是介于。
0 0111 11111111111
0 1000 00000000000
大约是2.0。
正值的中值.
类似的逻辑,请转到:0 0111 01111111111
大约是1.5。(包括一个额外的尾数位,将你的中间值提升半个尾数范围是有道理的)
可以编码的不同值的数
如果你区分不同的NaNs和-0,那就是2^16。
如果排除NaNs,则必须对每个符号减去表示代码(所有非零mantissas)的所有NaN : 2^16-2*(2^11-1)。
https://stackoverflow.com/questions/40113933
复制相似问题