问题:如何在paste不100000成为的情况下使用1e+05?
提前抱歉,如果这个问题看起来很无聊(但它导致了我的代码中的错误).我使用R来调用外部脚本,所以当我说例如paste("abc",100000)我希望它输出"abc 100000"而不是"abc 1e+05".
以下是我的屏幕上的示例:
> paste("abc",100000)
[1] "abc 1e+05"
> paste("abc",100001)
[1] "abc 100001"
Run Code Online (Sandbox Code Playgroud)
这导致我的脚本对输入"100001"而不是"100000"的奇怪行为.
我意识到我可以创建一个脚本来将数字转换为字符串然而我喜欢,但我觉得如果有一种内部方法可以做同样的事情我不应该这样做(我怀疑有一些"方法"我缺少) .
[如果有帮助,我使用的是Ubuntu 12.04.1 LTS("精确"),在终端中运行R版本2.14.1(2011-12-22).
在GMP手册的整数部分:
功能:void mpz_clear(mpz_t x)
释放x占用的空间.完成后,为所有mpz_t变量调用此函数.
调用此过程会减慢我的程序,所以如果没有必要,我宁愿不这样做.
问题:如果我不使用mpz_clear会发生什么?
我的猜测是内存泄漏可能会发生.虽然,我不确定我是否应该关注这个问题(例如C可能会为我清理它,或者当程序退出时可能会返回内存).