问题列表 - 第40479页

整数立方根

我正在寻找64位(无符号)立方根的快速代码.(我正在使用C并使用gcc进行编译,但我认为所需的大部分工作都是语言和编译器无关的.)我将通过ulong表示64位未分配的整数.

给定输入n我需要(整数)返回值r

r * r * r <= n && n < (r + 1) * (r + 1) * (r + 1)
Run Code Online (Sandbox Code Playgroud)

也就是说,我想要n的立方根,向下舍入.基本代码如

return (ulong)pow(n, 1.0/3);
Run Code Online (Sandbox Code Playgroud)

因为向范围的末端舍入而不正确.简单的代码就像

ulong
cuberoot(ulong n)
{
    ulong ret = pow(n + 0.5, 1.0/3);
    if (n < 100000000000001ULL)
        return ret;
    if (n >= 18446724184312856125ULL)
        return 2642245ULL;
    if (ret * ret * ret > n) {
        ret--;
        while (ret * ret * ret > n)
            ret--;
        return ret;
    }
    while ((ret + 1) * (ret + …
Run Code Online (Sandbox Code Playgroud)

c math optimization gcc numerical-analysis

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

为什么函数不能被返回类型重载?

可能重复:
返回类型的函数重载?
拼图:根据返回值重载C++函数

因为我有一个库,它以下列形式公开了一堆函数:

bool GetVal();
double GetVal();
int GetVal();
long GetVal();
//So on.
Run Code Online (Sandbox Code Playgroud)

现在我必须包装这些.我宁愿不再重写同一组函数.我想做点什么

template<class T>
T GetVal(){}
Run Code Online (Sandbox Code Playgroud)

但我似乎无法让这个工作.有任何想法吗?

c++ types overloading return

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

交换两行

我怎样才能利用SED的H,h,x,g,G等命令来交换两行呢?

例如在文件中

START
this is a dog
this is a cat
this is something else
END
Run Code Online (Sandbox Code Playgroud)

说我想用"这是别的东西"交换"这是一只狗".

这是我到目前为止:

/this is a dog/{
 h # put to hold space 
}
/this is something else/{
 # now i am stuck on what to do.
}
Run Code Online (Sandbox Code Playgroud)

sed

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

PHP scandir结果:按文件夹文件排序,然后按字母顺序排序

用于scandir的 PHP手册:默认情况下,排序顺序按字母顺序升序排列.

我正在构建一个文件浏览器(在Windows中),所以我希望按文件夹/文件排序返回地址,然后按字母顺序返回这些子集.

示例:现在,我扫描并输出

Aardvark.txt
BarDir
BazDir
Dante.pdf
FooDir
Run Code Online (Sandbox Code Playgroud)

而且我要

BarDir
BazDir
FooDir
Aardvark.txt
Dante.pdf
Run Code Online (Sandbox Code Playgroud)

除了usortis_dir()解决方案(我可以自己弄清楚)之外,还有一种快速有效的方法吗?

撰写此评论的忍者走在正确的轨道上 - 这是最好的方式吗?

php sorting scandir

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

如何以编程方式设置VIM文件类型?

有没有办法以编程方式设置vim文件类型,所以不要这样做:

au BufNewFile,BufRead *.dump set filetype=sql
Run Code Online (Sandbox Code Playgroud)

我可以做这样的事情

let g:temp_file_type = 'sql'
au BufNewFile,BufRead *.dump set filetype= g:temp_file_type
Run Code Online (Sandbox Code Playgroud)

vim

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

NSScrollView滚动位置

我目前在NSScrollView中有一个NSView.NSView很大,我需要滚动来管理里面的对象.

我想在NSView的中心绘制一个静态矩形而不滚动.我想在NSView的drawRect方法中获取滚动点(NSClipPoint?),以便我可以在drawRect的最后一步绘制矩形以使其位于顶部.

我查看了文档,只能找到设置滚动点的方法,而不是获取它.我怎么能得到这一点?

cocoa nsview nsscrollview

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

Python:对这个词典进行排序(dict中的dict)

d = { 'a':{'k':1, 'b':'whatever'},  'b':{'k':2, 'b':'sort by k'} }
Run Code Online (Sandbox Code Playgroud)

想要在python中按k降序排序这个字典.

有点棘手,请帮忙.

python sorting dictionary

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

Android模拟器无法启动

我今天早上搜索谷歌并找不到答案,所以我希望stackoverflow上的人帮忙.

直到昨天,一切都很完美,当我从eclipse运行我的Android应用程序时,用于加载的模拟器,我可以测试一切.

我今天用它,模拟器不加载.

这是控制台的转储

[2010-12-02 10:39:42 - HomeScreen] ------------------------------
[2010-12-02 10:39:42 - HomeScreen] Android Launch!
[2010-12-02 10:39:42 - HomeScreen] adb is running normally.
[2010-12-02 10:39:42 - HomeScreen] Performing com.Dyforms.XMLGui activity launch
[2010-12-02 10:39:42 - HomeScreen] Automatic Target Mode: launching new emulator with compatible AVD 'newAVD'
[2010-12-02 10:39:42 - HomeScreen] Launching a new emulator with Virtual Device 'newAVD'
Run Code Online (Sandbox Code Playgroud)

我可以在任务管理器中看到emulator.exe,但我看不到它已启动.

你们能指导我可能出错吗?

Rupin

android emulation android-virtual-device

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

用PHP解释JavaScript

我希望能够运行JavaScript并使用PHP获得结果,并且想知道是否有一个PHP库允许我解析它.我的第一个想法是使用node.js,但由于node.js可以访问套接字,文件和东西,我认为我宁愿避免这种情况.

理由:我正在使用PHP进行屏幕抓取,并且遇到了很多场景,其中数据是由前端的JavaScript生成的,我希望避免编写专门的过滤函数来基于每个案例对JavaScript进行操作,因为花了很多时间.更一般的情况是直接解析JavaScript.

Downvoting:我真的没有看到这个问题有什么争议,现代网络爬虫已经知道了,唯一的区别是它们往往不是用PHP编写的.[1]

[1] http://blogs.forbes.com/velocity/2010/06/25/google-isnt-just-reading-your-links-its-now-running-your-code/

javascript php screen-scraping serverside-javascript node.js

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

Eclipse CDT生成的Makefile在哪里?

我用Eclipse(helios)CDT构建了一个hello world C++项目.它汇编得很好.但我想看一下生成的Makefile CDT.我在项目文件夹/调试/发布文件夹或src文件夹中找不到它.我在哪里可以找到这个Makefile?

c++ eclipse makefile eclipse-cdt

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