查看浮点标准 IEEE754 精要的源代码
←
浮点标准 IEEE754 精要
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== 未归一化值 == 当 e == 0 || e == ~0 时,所表示值为未归一化值 ;;1. e == 0 <source lang=bash> m == 0, s == 0 ---> +0.0 m == 0, s == 1 ---> -0.0 m != 0 则V = (-1)^s * 2^E * M,其中E = 1 - Bias, Bias = 2^(Ne-1)-1 </source> 如单精度浮点数的话,e==0, m!=0, 则 E = 1-127 = -126 ;;2. e == ~0 <source lang=bash> m == 0, s == 0 ---> +INFINITY m == 0, s == 1 ---> -INFINITY 如果 m != 0 ----> NaN, Not a Number </source> 例1 二进制单精度浮点数转十进制数 0x80480000 1000 0000 0100 1000 0000 0000 0000 0000 1 00000000 10010000000000000000000 s = 1 e = 0, E = 1 - 127 = -126 因e == 0,则:尾数部分M为(无须加1): 0.10010000000000000000000=0.5625 该浮点数的十进制为: (-1)^1 * 2^(-126) * 0.5625 = -6.612156e-39 可以使用如下 C 程序验证之: <source lang=c> #include <stdio.h> union FI { float f; struct { unsigned char b0; unsigned char b1; unsigned char b2; unsigned char b3; }; }u; int main() { u.b3 = 0x80; u.b2 = 0x48; u.b1 = 0x00; u.b0 = 0x00; printf ("x = %e ", u.f); return 0; } </source> 更简洁的: <source lang=c> #include <stdio.h> int main() { int x = 0x80480000; float y = *(float *)&x; printf ("x = %e ", y); return 0; } </source> <br><br>
返回到
浮点标准 IEEE754 精要
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面