【问题标题】:32 bit unsigned int php32 位无符号整数 php
【发布时间】:2011-01-31 23:47:22
【问题描述】:

有人知道类/库/等吗?可以在 PHP 的 32 位平台上模拟 32 位无符号整数? 我正在将一个 C 库移植到 PHP 中,它使用了许多大于 32 位有符号整数的最大值的整数。

【问题讨论】:

    标签: php integer 32-bit unsigned


    【解决方案1】:

    试试BC Math Library,它“支持任何大小和精度的数字,以字符串表示。”

    祝你好运!

    【讨论】:

    • 我试过了,它非常适合某些操作。我想我将不得不为一些按位运算和打包/解包编写自己的函数。
    【解决方案2】:

    为什么不能写

      modulo(a+b,2^32)
    

    或它的PHP等效a,b是“无符号”整数,您正在尝试“无符号整数加法”,同样适用于减法,乘法,除法,...?您当然可以将其隐藏在函数 add_unsigned 中以使代码更清晰。

    【讨论】:

      【解决方案3】:

      你真的需要它吗?如果超出 int 范围,php 将转换为浮点数。

      http://www.php.net/manual/en/language.types.integer.php

      var_dump(PHP_INT_MAX);
      $int = PHP_INT_MAX;
      var_dump($int + $int);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-27
        • 2011-06-02
        • 1970-01-01
        • 1970-01-01
        • 2013-06-21
        • 1970-01-01
        相关资源
        最近更新 更多