标签: limits

如何在C++中打印真正的大数字

我有这个代码

#include <iostream>

using namespace std;

int main(int argc,char **argv) {

    unsigned long long num1 = 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999995LL;
    unsigned long long num2 = 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999996LL;
    unsigned long long num3 = 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999997LL;
    unsigned long long num4 = 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999998LL;
    unsigned long long num5 = 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999LL;

    cout << (unsigned long long)(num1 * num2 * num3 * num4 * num5) << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

你可以看到数字是巨大的,但当我在那里做数学时我得到了这个:18446744073709551496

在编译时我得到这些警告:

warning: integer constant is too large for its type|
In function `int main(int, char**)':|
warning: this decimal constant is …
Run Code Online (Sandbox Code Playgroud)

c++ limits biginteger

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

在出现"问题"之前,Sourcesafe数据库有多大?

我们使用SourceSafe 6.0d并拥有大约1.6GB的数据库.我们还没有遇到任何问题,目前还没有计划改变源代码控制程序,但SourceSafe数据库在成为问题之前有多大?

谢谢

version-control performance limits visual-sourcesafe

5
推荐指数
3
解决办法
1992
查看次数

VBA表单可以容纳的最大控件数是多少?

我目前正在构建一个Excel 2003应用程序,需要一个非常复杂的形式,我担心控件数量的限制.它目前有154个控件(计算使用Me.Controls.Count- 这应该是准确的,对吗?)但可能只有大约三分之一完成.工作流程真的适合单一形式,但我想如果我真的需要,我可以拆分它.

我在Google搜索中看到VB6(通常包括VBA)在表单中有254个控件的硬限制.但是,我创建了一个超过1200个控件的虚拟表单,它仍然可以加载并且似乎工作正常.

尝试添加特定的控件组合时,我确实得到了一些"内存不足"错误,比如800个按钮和150个标签,这让我认为任何限制都可能受到每种控件的内存要求的影响.

有没有人有任何可能有助于确保我或者更重要的是,具有不同环境的其他用户不会遇到如此大型表单的任何内存问题的信息?

forms vba limits excel-2003 excel-vba

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

PATH_MAX和NAME_MAX之间的关系是什么,我如何获得?

limits.hPOSIX联机帮助页中的各个位置,都有对PATH_MAX和的引用NAME_MAX.这些如何相互关联?他们的官方文件在哪里?如何在运行时获取它们,以及(在相关时)编译C,Python和GNU(shell)环境的时间?

c python posix limits gnu

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

在Ubuntu 10.04上编译时未声明PATH_MAX

我正在尝试在8.04版本的Ubuntu 10.04中编译一个C程序.它失败了,因为我们已经使用了PATH_MAX和应该定义的其他常量limits.h.根据各种资源,它应该是POSIX兼容的C库的一部分.

这是Ubuntu 10.04中的错误还是有正确的解决方法?

c limits ubuntu-10.04

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

R:{ggplot2}:如何/我可以独立调整facet_grid图上的x轴限制?

我创建了一组三个单变量密度的分面 - 比较MCMC方法.如下所示

在此输入图像描述

目前,我不关心尾巴.那么如何更改上图中的x轴限制为:

c(-3,1)
c(-2,0)
c(-10, -8)
Run Code Online (Sandbox Code Playgroud)

这甚至可能吗?我已经从2009年开始阅读这个帖子,但它似乎没有用.这是实施的吗?

limits r facet ggplot2

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

ulimit -r返回不同的值

我在系统范围的/etc/security/limits.conf中添加了以下两行:

*       soft    rtprio      55
*       hard    rtprio      55
Run Code Online (Sandbox Code Playgroud)

系统重启后,根据我在计算机上访问用户帐户的方式,我得到两个不同的结果.

user@client# ssh user@server

user@server# ulimit -r
55
Run Code Online (Sandbox Code Playgroud)

然后我以root身份注销并再次登录

user@client# ssh root@server

root@server# su - user
user@server# ulimit -r
0
Run Code Online (Sandbox Code Playgroud)

我在.bashrc或其他任何地方都没有特殊设置,或者至少我认为如此.

为什么会这样?

linux security account limits real-time

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

如何在Centos 6.4 x64上更改root用户的限制打开文件

我试过几种方法来改变URL的开放文件限制

http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/

我已经更改了limit.conf和/etc/sysctl.conf

它与其他用户一起工作,但root的限制打开文件没有改变

在/etc/security/limits.conf

#####
*       -        nproc           8500
*       hard     nofile          200000
*       soft     nofile          200000
*       hard     stack           8192
*       hard    sigpending       45056

root    hard     nofile          200000
root    soft     nofile          200000
root    hard     no file         200000
Run Code Online (Sandbox Code Playgroud)

/etc/sysctl.conf中

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
fs.file-max = 200000
Run Code Online (Sandbox Code Playgroud)

重启服务器,之后

[root@ironman ~]# ulimit -n
8192
Run Code Online (Sandbox Code Playgroud)

最后我在/ etc/bashrc上面添加命令,它对root用户也有效,我真的不明白为什么只在sysctl.conf /limits.conf上设置不会影响?

请指教

limits limit ulimit centos6

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

使用dplyr管道在ggplot2中动态ylim

我想在ggplot中创建动态ylim值,以便ylim参数引用dplyr通过管道提供的值.为了说明问题,请查看我想要更改为(当前不是通用的)通用代码的工作(非通用)代码.

require(dplyr)
require(scales)
require(ggplot2)

x <- data.frame(name = c("A","B","C"), 
                value = c(2,4,6))
Run Code Online (Sandbox Code Playgroud)

使用非通用代码:

arrange(x[1:2, ], value) %>%
  ggplot(data=., aes(x=factor(name), y=value)) + 
  geom_bar(stat="identity") +
  scale_y_continuous(labels=comma, 
                     limits=c(0,max(arrange(x[1:2, ], value)$value) * 1.1))
Run Code Online (Sandbox Code Playgroud)

不工作的通用代码(调用找不到值):

arrange(x[1:2, ], value) %>%
  ggplot(data=., aes(x=factor(name), y=value)) + 
  geom_bar(stat="identity") +
  scale_y_continuous(labels=comma, 
                     limits=c(0,max(value) * 1.1))
Run Code Online (Sandbox Code Playgroud)

所以问题是,是否有任何方法可以设置一般限制,即排列后的部分将始终相同(我需要生成许多相同的图形,具有不同的x,即不同的限制).谢谢!

limits r ggplot2 dplyr

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

constexpr计算量的实际限制

作为一个实验,我只是将一些代码放在一起,以便std::array<uint32_t, 256>在编译时生成.表内容本身是一个相当典型的CRC查找表 - 关于唯一新的事情是使用constexpr函数来计算条目而不是将自动生成的魔术表直接放在源代码中.

无论如何,这个练习让我很好奇:编译器constexpr在编译时评估函数或变量定义的计算量是否会有任何实际限制?例如,像gcc的-ftemplate-depth参数一样,对模板元编程评估的数量创建实际限制.(我也想知道参数包的长度是否存在实际限制 - 这将限制std::array使用std::integer_sequence中间对象创建的编译时的大小.)

c++ limits constexpr c++11 c++14

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