小编orl*_*rlp的帖子

如何计算直线与水平轴之间的角度?

在编程语言(Python,C#等)中,我需要确定如何计算直线和水平轴之间的角度?

我认为图像描述的最符合我的要求:

没有言语可以形容这一点

给定(P1 x,P1 y)和(P2 x,P2 y)计算此角度的最佳方法是什么?原点在于topleft,只使用正象限.

c# python trigonometry

246
推荐指数
2
解决办法
22万
查看次数

为什么GCC为几乎相同的C代码生成如此完全不同的程序集?

在编写优化ftol函数时,我发现了一些非常奇怪的行为GCC 4.6.1.让我先向您展示代码(为清楚起见,我标记了差异):

fast_trunc_one,C:

int fast_trunc_one(int i) {
    int mantissa, exponent, sign, r;

    mantissa = (i & 0x07fffff) | 0x800000;
    exponent = 150 - ((i >> 23) & 0xff);
    sign = i & 0x80000000;

    if (exponent < 0) {
        r = mantissa << -exponent;                       /* diff */
    } else {
        r = mantissa >> exponent;                        /* diff */
    }

    return (r ^ -sign) + sign;                           /* diff */
}
Run Code Online (Sandbox Code Playgroud)

fast_trunc_two,C:

int fast_trunc_two(int i) {
    int mantissa, exponent, …
Run Code Online (Sandbox Code Playgroud)

c x86 assembly gcc compiler-optimization

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

如何检查DLL依赖?

有时当我做一个小项目时,我不够小心,并且意外地为我不知道的DLL添加依赖项.当我将此程序发送给朋友或其他人时"它不起作用",因为"某些DLL"丢失了.这是因为程序可以在我的系统上找到DLL,但不能在他们的系统上找到.

是否有程序/脚本可以扫描可执行文件的DLL依赖项或在"干净的"无DLL环境中执行程序以进行测试以防止这些oops情况?

windows dll dependencies

144
推荐指数
9
解决办法
21万
查看次数

malloc()是如何在内部实现的?

任何人都可以解释malloc()内部如何运作

我有时会这样做strace program,我看到很多sbrk系统调用,正在man sbrk讨论它的使用情况,malloc()但不多.

c memory malloc system-calls sbrk

112
推荐指数
3
解决办法
12万
查看次数

快速素数分解模块

我正在寻找一种实现清晰的算法,用于在python,伪代码或其他任何可读的内容中获得N的素数因子分解.有一些要求/事实:

  • N介于1到20位之间
  • 没有预先计算的查找表,但是memoization很好.
  • 不需要在数学上证明(例如,如果需要,可以依赖于Goldbach猜想)
  • 不需要精确,如果需要,可以是概率/确定性的

我需要一个快速素数因子分解算法,不仅适用于自身,还适用于许多其他算法,如计算Euler phi(n).

我已经尝试了维基百科的其他算法,但要么我无法理解它们(ECM),要么我无法从算法(Pollard-Brent)创建工作实现.

我对Pollard-Brent算法非常感兴趣,因此对它的任何更多信息/实现都会非常好.

谢谢!

编辑

搞砸了一下后,我创建了一个非常快速的素数/分解模块.它结合了优化的试验分割算法,Pollard-Brent算法,米勒 - 拉宾素性测试和我在互联网上发现的最快的素数.gcd是常规Euclid的GCD实现(二进制Euclid的GCD 常规GCD 慢得多).

赏金

哦,快乐,可以获得赏金!但我怎么能赢呢?

  • 在我的模块中找到最优化或错误.
  • 提供替代/更好的算法/实现.

最完整/最具建设性的答案得到了赏金.

最后模块本身:

import random

def primesbelow(N):
    # http://stackoverflow.com/questions/2068372/fastest-way-to-list-all-primes-below-n-in-python/3035188#3035188
    #""" Input N>=6, Returns a list of primes, 2 <= p < N """
    correction = N % 6 > 1
    N = {0:N, 1:N-1, 2:N+4, 3:N+3, 4:N+2, 5:N+1}[N%6]
    sieve = [True] * (N // 3)
    sieve[0] = False
    for i in range(int(N …
Run Code Online (Sandbox Code Playgroud)

python algorithm prime-factoring

69
推荐指数
6
解决办法
5万
查看次数

Notepad ++的项目文件?

我喜欢Notepad ++.它做我需要做的一切.我不需要花哨的IDE,我从命令行编译makefile,而我工作的项目并不是非常庞大,它们只是变得越来越小.这张图片很好地描述了我的问题:

在此输入图像描述

是否有任何Notepad ++插件允许您使用简单的项目文件一次打开您的项目?它应该提供某种树视图浏览你的项目只有你添加到项目中的文件(所以没有*.pyc和东西),而不是做更多.


如果事实证明无法将其添加到Notepad ++,那么我愿意尝试使用不同的编辑器来支持这一点但不是一个完整的,重的IDE.因此,欢迎提出一个不同但相似的编辑的答案.

notepad++

62
推荐指数
4
解决办法
5万
查看次数

为什么使用小端和大端?

在大约40年的二进制计算机科学之后,为什么今天仍然使用小端和大端?是否有算法或存储格式与另一个更好地工作?如果我们都切换到一个并坚持下去,那不是更好吗?

computer-science endianness

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

找到图像中最大的凸黑区域

我有一个图像,这是一个小切口:

有很多白色和黑色像素的图像

如你所见,它是黑色背景上的白色像素.我们可以在这些像素(或更好的点)之间绘制虚线.通过这些线,我们可以包围区域.

如何在此图像中找到不包含白色像素的最大黑区域?

这是一个小手绘的例子,我的意思是最大的凸黑区域:

小例子

PS:图像不是噪声,它代表水平排序的10000000以下的素数.

algorithm image pattern-finding

43
推荐指数
3
解决办法
6147
查看次数

C++:获取临时文件,跨平台

我正在寻找一种跨平台的方式来获取指定的临时文件.例如,在linux中,它将位于/tmpdir中,而在Windows中则位于一些名为Internet Explorer的临时目录中.

是否存在跨平台(Boost?)解决方案?

编辑:

我需要这个文件存在,直到程序终止.tmpfile()不能保证.引用ccpreference:

当流关闭(fclose) 或程序正常终止时,将自动删除创建的临时文件.

c++ temporary-files

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

使用boost C++库?

可能重复:
Boost Library

通常当我尝试(和失败)一个C++项目时,我在浏览网页时会遇到Boost.我尝试阅读Boost网站,但没有很好的简短描述为什么要使用Boost以及它到底是什么.

我非常喜欢Python的一件事是,所有内容都是内置的,跨平台的,Web请求,电子邮件,XML,JSON等.这也是Boost的情况吗?

所以,足够的咆哮,我的具体回答问题:

  • 什么是Boost?
  • 使用Boost最重要的原因是什么?
  • 它是完全跨平台的吗?
  • 它比普通的家酿啤酒代码更安全吗?你很快就会忽略一个缓冲区溢出等等?
  • 是否有一个页面链接描述一个或两个句子中Boost的所有模块

c++ boost

39
推荐指数
3
解决办法
4万
查看次数