Java Math.ulp方法是什么意思

如果要理解什么是ulp(unit in the last place or unit of least precision (ULP)),先要了解在计算机中保存的数和我们在数学上认为的数是不一样的;

比方说2.0和3.0之间有多少个数,在数学中是无限的,但是在计算机中是有限的,因为计算机需要用一堆字节来表示double或者float,但是因为计算机表示不了无限的数(因为没有无限内存)。

所以就有了ulp,假设在float 2.0和3.0之间有8,388,609个数,那么在2.0和3.0之间的数的ulp就是8,388,609/1.0约等于0.0000001。

你如果想知道某一个具体的double或float的先一个或者上一个数字是什么可以使用函数

 

public static double nextAfter(float start, float direction)
public static double nextAfter(double start, double direction)

 

 

http://www.ibm.com/developerworks/library/j-math2/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值