小编Kle*_*ems的帖子

比较Java中的浮点数

可能重复:
在java中操作和比较浮点数

我是否应该在比较Java中的浮点数时使用Epsilon?Float.compare(float f1,float f2)静态方法是否可以安全使用?

谢谢 !

编辑:我想我明白了.

当我写,比如说,在日食中3.6f,编译器将这个数字解释为3.6.但是,当我写1.2f*3.0f时,结果是3.6000001.虽然在数学上这是错误的,但这两个结果显然是不公平的.因此,在检查相等性时需要有一个epsilon.

但是,当我在eclipse中写入0.0f时,编译器严格地将其解释为0,因为IEEE 754能够正确处理它.因此,确保浮动是严格正的(值> 0.0f)是正确的.

我看到的唯一问题是当计算机不使用IEEE 754表示时,而是使用不能正确处理0的表示.

我对吗 ?

java floating-point

3
推荐指数
2
解决办法
1万
查看次数

将LinkedHashSet转换为List

  • 假设列表b是LinkedList.
  • 假设List a也是LinkedList.

题:

  • 如何在恒定时间附加这些列表?

这是可能的,因为LinkedList可能是一个双向链表(否则它无法实现Deque接口).并且追加双向链表是0(1)操作.

该addAll方法不会在恒定时间内运行.

题:

  • 如何在常量时间内将LinkedHashSet转换为列表?

它也可能是因为LinkedHashSet"维护一个贯穿其所有条目的双向链表".

java algorithm list

3
推荐指数
2
解决办法
7686
查看次数

标签 统计

java ×2

algorithm ×1

floating-point ×1

list ×1