小编san*_*iyn的帖子

在PHP中使用大量数字

要使用大数(100,000+)的Fermat Primality Test时需要使用模幂运算,需要进行一些非常大的计算.

当我乘以两个大数(例如:62574和62574)时,PHP似乎将结果转换为浮点数.获取模数值会返回奇怪的值.

$x = 62574 * 62574;
var_dump($x);          // float(3915505476) ... correct
var_dump($x % 104659); // int(-72945)  ... wtf.
Run Code Online (Sandbox Code Playgroud)

有没有办法让PHP正确执行这些计算?或者,是否有另一种方法可以找到适用于大数的模数值?

php bignum

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

如何使用Python持久化磁盘临时文件?

我试图使用'tempfile'模块来操作和创建文本文件.文件准备好后,我想将其保存到磁盘.我认为这就像使用'shutil.copy'一样简单.但是,我得到'权限被拒绝'IOError:

>>> import tempfile, shutil
>>> f = tempfile.TemporaryFile(mode ='w+t')
>>> f.write('foo')
>>> shutil.copy(f.name, 'bar.txt')

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    shutil.copy(f.name, 'bar.txt')
  File "C:\Python25\lib\shutil.py", line 80, in copy
    copyfile(src, dst)
  File "C:\Python25\lib\shutil.py", line 46, in copyfile
    fsrc = open(src, 'rb')
IOError: [Errno 13] Permission denied: 'c:\\docume~1\\me\\locals~1\\temp\\tmpvqq3go'
>>> 
Run Code Online (Sandbox Code Playgroud)

这是不是在使用'tempfile'库时?有一个更好的方法吗?(也许我忽略了一些非常微不足道的事情)

python temporary-files

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

Git相当于`svn cat`和远程存储库

我正在寻找相当于svn catgit.

是的,我知道这里提出了类似的问题.答案是使用git show rev:path.

但是,svn cat可以用于远程存储库.也就是说,我可以svn cat url@rev从远程存储库的指定版本获取文件,而无需获取整个存储库.我的理解是git show只适用于本地存储库.

我找到的解决方法是使用gitweb接口来获取blob.

svn git

23
推荐指数
4
解决办法
6003
查看次数

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

最有效的实现大量类

当对非常大的数字进行计算时,整数数据类型(如double或int64)不足,可能需要一个单独的类来处理这么大的数字.

有谁关心提供一个有效的算法,如何最好地做到这一点?

language-agnostic bignum

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

标签 统计

bignum ×2

gdb ×1

git ×1

language-agnostic ×1

php ×1

python ×1

svn ×1

temporary-files ×1

wstring ×1