我有一堆浮点数(Java双打),其中大部分都非常接近1,我需要将它们相乘作为更大计算的一部分.我需要做很多事情.
问题是虽然Java双打没有问题,例如:
0.0000000000000000000000000000000001 (1.0E-34)
Run Code Online (Sandbox Code Playgroud)
它们不能代表以下内容:
1.0000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)
因此,我迅速失去了精确度(对于Java的双打,限制似乎约为1.000000000000001).
我考虑过只存储减去1的数字,所以例如1.0001将被存储为0.0001 - 但问题是再次将它们相乘我必须加1并且此时我失去了精度.
为了解决这个问题,我可以使用BigDecimals来执行计算(转换为BigDecimal,添加1.0,然后相乘),然后转换回双精度,但我对此的性能影响有严重的担忧.
任何人都可以看到一种避免使用BigDecimal的方法吗?
为清晰起见进行编辑:这是针对大规模协同过滤器,采用梯度下降优化算法.准确性是一个问题,因为协作过滤器通常处理非常小的数字(例如,人们点击产品广告的概率,可能是1000分之一,或10000分之一).
速度是一个问题,因为协作过滤器必须在数千万个数据点上进行训练,如果不是更多的话.
I recall seeing a paper a while back for an algorithm that could automatically and seamlessly "graft" texture from parts of an image onto another part of an image.
The approach was something along the lines of the following:
You'd build up a databases of small squares of pixels (perhaps 8X8) from the parts of the picture that are present.
然后,选择一个空像素(纹理嫁接的“目标”)进行填充,然后在数据库中查找与周围像素最匹配的正方形之一。然后,您将根据找到的正方形中相应像素的颜色为空像素着色。然后,选择另一个空白像素并重复进行,直到没有剩余的空白像素为止。
当然,这只是一个模糊的描述,因为我找不到对该算法的任何引用来刷新我对细节的记忆!有人可以帮忙吗?
这个问题与水库采样解决的问题有点类似,但又不一样。我认为这也是一个相当有趣的问题。
我有一个大型数据集(通常有数亿个元素),我想估计该数据集中唯一元素的数量。典型数据集中可能有几个到数百万个独特元素。
当然,显而易见的解决方案是维护您遇到的元素的运行哈希集,并在最后对它们进行计数,这将产生准确的结果,但需要我在扫描时携带潜在的大量状态。数据集(即到目前为止遇到的所有唯一元素)。
不幸的是,在我的情况下,这将需要比我可用的更多的 RAM(数据集可能远大于可用的 RAM)。
我想知道是否有一种统计方法可以让我对数据集进行一次遍历并在最后得出估计的唯一元素计数,同时在扫描数据时保持相对少量的状态数据集。
算法的输入是数据集(Java 术语中的迭代器),它将返回估计的唯一对象计数(可能是浮点数)。假设这些对象可以被散列(即,如果您愿意,您可以将它们放入 HashSet 中)。通常它们是字符串或数字。
我注意到Java中有一个CipherOutputStream,但显然没有SignatureOutputStream.这是真的?我在哪里可以找到SignatureOutputStream?
我正在使用Google App Engine和Eclipse中的Google插件,这是我的web.xml的标题:
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
Run Code Online (Sandbox Code Playgroud)
基于一些GAE文档,我添加了这个:
<security-constraint>
<web-resource-collection>
<url-pattern>/tasks/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
Run Code Online (Sandbox Code Playgroud)
但是,Eclipse在"url-pattern"上报告错误:
cvc-complex-type.2.4.a:从元素'url-pattern'开始发现无效内容.
其中一个"{"http://java.sun.com/xml/ns/javaee":web-resource-name}"的预期.
我可以启动应用程序,它似乎处理web.xml文件就好了,但我不喜欢Eclipse报告错误的事实.问题是什么?
在http://www.lastcalc.com上,我在页面右侧有一个IFRAME,当您单击右上角的"隐藏帮助"按钮时,IFRAME将从页面滑出.再次单击会重新打开IFRAME.
至少在Chrome中,问题是IFRAME的宽度似乎随着它从页面滑落而改变,这导致它在滑动时被重绘 - 这不是很好.
这是我用来在页面上下滑动IFRAME的代码:
$("DIV#help-button").click(function() {
var helpIframe = $("IFRAME#helpframe");
if (helpIframe.is(":visible")) {
$('DIV#worksheet').width('100%');
$("DIV#help-button span").text("Show Help");
helpIframe.hide("slide", { direction: "right" }, 1000);
} else {
$('DIV#worksheet').width('50%');
$("DIV#help-button span").text("Hide Help");
helpIframe.show("slide", { direction: "right" }, 1000);
}
});
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议我如何通过在页面上/下滑动时阻止重绘IFRAME来使这更顺畅吗?
可能的重复:
如何将浮点数转换为由字节分子和分母表示的最接近的分数?
我想在 Java 中使用任意浮点数或双精度数并将其转换为有理数 - 即。a/b 形式的数字,其中 a 和 b 是长整数。我怎样才能以合理有效的方式做到这一点?
(顺便说一句 - 我已经有了用于简化分数的代码,所以 a/b 是否处于最简单的形式并不重要)。
我需要一个实现Iterable的类,并不需要对并发使用是安全的.各种选项,如LinkedList,HashSet,ArrayList等,哪个是最轻的?
为了澄清用例,我需要能够向Iterable添加许多对象(通常为3或4),然后需要对其进行迭代.
似乎默认情况下,Query Mobile列表项中<P>标记内的文本不会换行,而是在屏幕边缘用"..."截断.
如何更改此行为以使其包装?
假设我有一个方法:
public void method(LinkedList<Integer> intList);
Run Code Online (Sandbox Code Playgroud)
我使用反射来获取此方法的java.lang.reflect.Method,我想获取ParameterizedType,即.链表<Integer>的.
不幸的是,使用Method.getParameterTypes()我似乎只能得到非参数化的Class Class <LinkedList>.
但是在我的调试器中,如果我查看Method对象,我会看到有一个"签名"字段似乎确实包含通用信息:
(Ljava/util/LinkedList<Ljava/lang/Integer;>;)V
Run Code Online (Sandbox Code Playgroud)
那么如何从Method对象中获取LinkedList参数化类型呢?
我想在 Java 中获取一个 long 值,并将其转换为字节数组。
但是,我希望小值的表示形式较小,因此如果值小于 127,则可能只需要一个字节。
编码和解码算法应该非常高效。
我确信这已经完成,但我找不到任何示例代码,有人有任何指示吗?
java ×7
jquery ×2
algorithm ×1
bigdecimal ×1
compression ×1
cryptography ×1
css ×1
eclipse ×1
html ×1
math ×1
optimization ×1
probability ×1
reflection ×1
servlets ×1
synthesis ×1
textures ×1