32 бит unsigned int php


Знает ли кто-нибудь о классе/библиотеке/etc. что может имитировать 32-битные целые числа без знака на 32-битной платформе в PHP? Я портирую c lib в PHP, и он использует много целых чисел, которые больше, чем максимум для 32-битного signed int.

3 3

3 ответа:

ПопробуйтеBC Math Library , которая "поддерживает числа любого размера и точности, представленные в виде строк."

Удачи!

Почему ты не можешь писать

  modulo(a+b,2^32)

Или его PHP эквивалент для a, b будучи" беззнаковыми "целыми числами вы пытаетесь "беззнаковое целое сложить", аналогично для вычитания, умножения, деления, ...? Конечно, вы можете скрыть это в функции add_unsigned, чтобы сделать код немного понятнее.

Вам действительно это нужно? php преобразуется в float, если вы выходите за пределы int.

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

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