【问题标题】:module of a too long var in phpphp 中太长 var 的模块
【发布时间】:2014-01-02 23:42:39
【问题描述】:

如何处理 php 中包含 24 位数字的 var 模块

00120345030000067890142807 % 97

这个操作的结果一定是1,但是问题是包含de值的var太长了。

【问题讨论】:

    标签: php module int long-integer


    【解决方案1】:

    您可以使用BCMath PHP functions 处理大量数字。根据您的环境,BCMath 扩展通常已经与 PHP 捆绑在一起,如果您使用 Linux,则可以在您选择的包管理器中搜索它。如果您使用的是旧版本的 PHP,请告诉我,我希望可以向您展示如何从 php 源代码树手动编译扩展。

    要使用的函数是bcmod - http://www.php.net/manual/en/function.bcmod.php

    你可以这样使用它:

    <?php
    
    $bigNumber = '00120345030000067890142807';
    
    echo($bigNumber % 97 . "\n");
    echo(bcmod($bigNumber, 97) . "\n");
    

    如果你运行它,你会看到它输出了预期的结果,而标准 mod 没有:

    $ php -q test.php
    65
    1
    

    【讨论】:

      猜你喜欢
      • 2013-10-08
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      • 1970-01-01
      • 2020-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多