问题列表 - 第6656页

如何处理接近1的数字乘法

我有一堆浮点数(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分之一).

速度是一个问题,因为协作过滤器必须在数千万个数据点上进行训练,如果不是更多的话.

java math floating-point rounding-error bigdecimal

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

您(几乎)总是在类中实现哪些方法和接口?

您总是在类中实现哪些方法和接口?

你总是重写equals()吗?如果你这样做,你也做hashcode()吗?的toString()?你是否习惯于实现Comparable接口?

我刚刚编写了一些代码,我需要实现compareTo()并覆盖equals()以使我的程序以理智的方式工作; 我现在开始看到各处使用这些的方法......

你们都在想什么?

java

7
推荐指数
2
解决办法
636
查看次数

Reflection.Emit - 从堆栈访问最顶层但只有一个项目

在.NET中有没有办法使用Reflection.Emit,从堆栈中访问最顶层的项目?因此,如果A是最顶层,B则是下一个 - 我想处理B然后是A.将B复制到A 之上是可以的(因为当我到达时它可以简单地"弹出"第二个B).

目前,我宣布当地人:

    LocalBuilder loc = il.DeclareLocal(typeof(Foo));
    il.Emit(OpCodes.Stloc, loc); // store and pop topmost stack item
    // work with (pop) previous stack item 
    il.Emit(OpCodes.Ldloc, loc); // push old topmost stack item
Run Code Online (Sandbox Code Playgroud)

是否存在不需要显式本地的路由?

.net reflection.emit

9
推荐指数
1
解决办法
487
查看次数

寻找开源图(如在数据结构中)数据库引擎

我正在编写一个操纵某种社交网络数据的应用程序,因此理想的底层数据结构是加权有向图.我想直接对数据进行操作(和搜索),而不是先将整个图形加载到内存中并在之后进行序列化.

这可以使用标准SQL数据库或键/值存储进行模拟,但效率非常低(对于我想使用的图遍历算法,例如最短路径等).

因为谷歌搜索并没有发现任何有用的结果,所以我只想写自己的想法,但我宁愿使用现有的解决方案(如果有的话,我错过了它),而不是重新发明轮子.该项目是为了有趣/个人研究,因此该软件必须是开源的(并且能够在Linux下运行).

那么,有没有符合上述描述的项目?

谢谢!

database open-source graph-theory

4
推荐指数
1
解决办法
991
查看次数

琐碎的数学问题作为语言基准

为什么人们坚持使用琐碎的数学问题,比如在Fibonacci序列中找到语言基准的数字?这些通常不会优化到相对论速度吗?通常在I/O,系统API调用,对字符串和结构的操作,处理大量数据,抽象面向对象的东西等方面,瓶颈不是首要任务吗?

benchmarking programming-languages

4
推荐指数
1
解决办法
568
查看次数

切换语句使用

我应该使用这种形式的switch语句:

  switch(msg)
  {
    case WM_LBUTTONDOWN:
    {
           char szFileName[MAX_PATH];
           HINSTANCE hInstance = GetModuleHandle(NULL);
           GetModuleFileName(hInstance, (LPWCH)szFileName, MAX_PATH);
           MessageBox(hwnd, (LPCWSTR)szFileName, L"This program is:", MB_OK | MB_ICONINFORMATION);
    }
    break;

    case WM_CLOSE:
        DestroyWindow(hwnd);
    break;
    case WM_DESTROY:
        PostQuitMessage(0);
    break;
    default:
        return DefWindowProc(hwnd, msg, wParam, lParam);
  }
  return 0;
Run Code Online (Sandbox Code Playgroud)

或者为第一个案例常量做一个函数?

c c++ windows winapi

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

如何强制我的WPF主窗口在XP机器上显示Vista?

我正在开发一个WPF应用程序,我想知道主窗口是否有可能具有Vista外观.一些应用程序,如MS Live Messenger和谷歌的Chrome已经做到了这一点.

有任何想法吗?

谢谢.

.net wpf user-interface windows-vista

1
推荐指数
1
解决办法
1582
查看次数

如何安装SimpleJson Package for Python

http://pypi.python.org/pypi/simplejson

我只是潜入Python世界,并希望制作一个简单的twitter应用程序,需要安装simplejson但不知道如何设置它并让它工作..

我在Windows系统上

python simplejson

36
推荐指数
4
解决办法
11万
查看次数

获取Java中使用的调用名称

我正在尝试找到复制此C功能的通用方法:

int main(int argc, char** argv){
    fprintf(2,"%s: error you did something wrong.\n", argv[0]);
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

在java中.到目前为止,唯一的方法是将其硬编码到应用程序中,这很难看.我想得到类似的东西:

someObj.getClass().getSimpleName();
Run Code Online (Sandbox Code Playgroud)

在我的静态主体内,没有回到我自己的课堂.

这甚至可能吗?

编辑

我寻找一个好时光并没有把这个变成一个.

重复的问题,请参阅Java中的$ 0(程序名)?发现主要课程?回答

java command-line args

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

开发SharePoint应用程序需要什么?

我是.NET开发人员,我习惯于编写标准的WinForms和ASP.NET应用程序.

几个月后,我将参与一个需要Sharepoint开发的项目.问题是......我对于Sharepoint我是零基础,我不知道Sharepoint是如何工作的.

我需要哪些软件/工具才能学习和开发sharepoint应用程序?我注意到有一个"SharePoint Server 2007",我需要它吗?Office怎么样,我需要为Sharepoint开发特殊版本的Office吗?

第二个问题是:这些东西如何连接和整合?Visual Studio,IIS,SharePoint Server,Office ......?

任何关于此的概述将非常感谢:)

谢谢!

sharepoint sharepoint-2007

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