| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 1359 人关注过本帖
标题:用删除法编写一个制作素数表的vfp程序
只看楼主 加入收藏
独木星空
Rank: 2
等 级:论坛游民
帖 子:94
专家分:18
注 册:2016-6-29
收藏
得分:0 
回复 98楼 吹水佬
cDefPath = ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cDefPath)
DECLARE LONG CreatePrime IN Prime LONG,LONG,STRING@
t = SECONDS()
CreatePrime(4280000001,4310000001,cDefPath+"Prime143.txt")
? SECONDS()-t
t = SECONDS()
CreatePrime(4310000001,4340000001,cDefPath+"Prime144.txt")
? SECONDS()-t
"Prime142.txt "时还没有出错,因为它的最大值是4280000000,而整数限制2147483647*2=4294967294,还小于它。
而到"Prime143.txt "时就出错了,运行时间0.008秒,文件为空白,即没有存数据;
"Prime144.txt "时运行时间123.583秒,文件存储的数据都是8位数(千万级别)。

只能算到最大素数0xFFFFFFEF?它是不是整数溢出(即最大整数值),我对它不太了解,我以为是9999999999,十位数最大值。
前天 19:41
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:319
帖 子:8182
专家分:36077
注 册:2014-5-20
收藏
得分:0 
回复 101楼 独木星空
VFP是32位应用,32位无符号整数最大值‭4294967295‬(0xFFFFFFFF)
再大就会溢出

[此贴子已经被作者于2021-9-21 20:11编辑过]

前天 20:08
独木星空
Rank: 2
等 级:论坛游民
帖 子:94
专家分:18
注 册:2016-6-29
收藏
得分:0 
回复 102楼 吹水佬
明白了:2^32=4294967296
前天 21:43
快速回复:用删除法编写一个制作素数表的vfp程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.291024 second(s), 9 queries.
Copyright©2004-2021, BCCN.NET, All Rights Reserved