java浮点数转二进制_IEEE 754规范中的十进制转换范围(二进制浮点运算)

[旁注:从技术上讲,您链接的文件不再是标准; “IEEE 754”实际上只应用于参考2008年发布的标准的更新版本 .

我的理解是,如你所说,该表的左侧列描述了任何十进制字符串到二进制浮点转换的有效输入范围's provided. So for example, a decimal string that',类似于 '1.234e+879' 表示值1234 * 10 ^ 876(M = 1234, N = 876),因此在表限制范围内,并且需要被转换功能接受 . 虽然注意到允许十进制字符串的确切形式超出了IEEE 754的范围;它's only the value that'在这里有用 .

我不认为某些允许的输入可能超出双倍的可表示范围是一个问题;在这种情况下应遵循通常的溢出规则;见文件第7.3节 . 也就是说,应该发信号通知溢出异常,并且假设它没有被捕获转换的结果(对于正的超出范围的值,比如说),如果舍入模式是舍入到最接近或向正无穷大舍入,则为正无穷大 . ,如果舍入模式为负无穷大或向零舍入,则为最大有限可表示值 .

稍微更巧妙的是,从我对这个文档的阅读中,转换函数也应该接受像'1e 1000'这样的十进制字符串,因为它表示的值可以10 * 10 ^ 999,甚至10000000000000000 * 10 ^的形式表示 . 984 . 请参阅5.6节中的“在输入时开始,尾随零应附加或从M ...剥离”的句子 .

当前版本的IEEE 754在这方面似乎有点不同,从公开的草案版本(version 1.2.5)来判断:它只需要每个实现在十进制字符串的指数上指定边界[-η,η], η足够大以容纳对应于最大支持二进制格式的有限二进制值的十进制字符串;因此,如果binary64格式是支持的最大格式,那么它看起来好像η= 400就足够了 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值