当前位置: 首页 > 面试题库 >

使用PHP处理大量数字

巫马修然
2023-03-14
问题内容

要使用带有大量数字(100,000+)的Fermat基本性测试时需要的[模幂,它需要进行一些非常大的计算。

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

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

有什么方法可以使PHP正确执行这些计算?另外,还有另一种方法可以找到适用于大量数值的模量值吗?


问题答案:

出于某种原因,PHP中有两个处理任意长度/精度数字的标准库:BCMath和GMP。我个人更喜欢GMP,因为它更新鲜且具有更丰富的API。

基于GMP,我实现了Decimal2类来存储和处理货币金额(例如100.25美元)。 大量 的mod计算没有任何问题。经测试具有 非常 大的数字。



 类似资料:
  • 我有一个适用于当地交通时间的Android应用程序,例如公共汽车、渡轮和地铁,需要在线和离线工作。 当应用程序需要脱机工作时,我需要不断更新其数据库。然而,我没有从市政府获得任何类型的网络服务或数据库。因此,我准备了一个PHP脚本,它将解析市政网页中的html内容,并为每辆公交车、每辆地铁(从哪里到哪里)和每辆渡轮(类似于地铁)的组合提取时间。然而,我的问题是从这里开始的。解析大约10万条记录的所

  • 问题内容: 我有一个Java应用程序,它需要显示大量数据(大约一百万个数据点)。数据并不需要全部同时显示,而仅在用户请求时才显示。该应用程序是桌面应用程序,未与应用程序服务器一起运行或未与任何集中式数据库连接。 我的想法是在计算机上运行数据库并在其中加载数据。在大多数时候,数据库都是只读的,因此我应该能够建立索引以帮助优化查询。如果我在本地系统上运行,则不确定是否应该尝试实现一些缓存(我不确定查询

  • 问题内容: 我正在使用Hadoop示例程序WordCount处理大量的小文件/网页(大约2-3 kB)。由于这与hadoop文件的最佳文件大小相去甚远,因此该程序非常慢。我猜这是因为安置和撕毁工作的成本远远高于工作本身。这样的小文件还会导致文件名的命名空间耗尽。 我读到在这种情况下,我应该使用HDFS存档(HAR),但是我不确定如何修改此程序WordCount以从此存档中读取。程序可以在不进行修改

  • This tells Smarty how to handle PHP code embedded in the templates. There are four possible settings, default being SMARTY_PHP_PASSTHRU. Note that this does NOT affect php code within {php}{/php} tags

  • 问题内容: 我正在寻找一种数学解决方案,该解决方案可以处理真实(长,大,大,风暴)数字。我还没有发现任何东西,但是我不想现在这个问题还没有解决。我正在寻找一种简单的Number解决方案,例如MicrosoftExcelPrecision(30位十进制)或BigInteger(Java)解决方案。当然是用Java语言编写的。 问题答案: BigInt现在是Firefox和Chrome的一部分; 你不

  • 我遇到了一个问题,我有多个窗体上有许多控件(20-40)。问题是,当我处理回发时,我需要将它们的值放入变量中,如果它们不是ASP.NET服务器控件(即选择、输入等)我有时需要确保他们的存在。因此,如果我有一个普通html复选框,它是未选中的,它将不会被发送到服务器,您需要检查它的存在,然后才能获得它的值。之后,我需要将它们传递到一个方法中以保存到数据库中。该方法处理我所有的crud和业务验证。设置