Кто-нибудь знает класс/библиотеку/etc. который может имитировать 32-разрядные целые числа без знака на 32-битной платформе в PHP? Я портирую C lib в PHP и использует много целых чисел, которые больше, чем максимальные для 32-битного подписанного int.32 бит unsigned int php
3
A
ответ
2
Попробуйте BC Math Library, который «поддерживает номера любого размера и точности, представленные в виде строк».
Удачи вам!
0
Почему вы не можете писать
modulo(a+b,2^32)
или его эквивалент для PHP а, б быть «без знака» целых чисел вы пытаетесь «целое число без знака добавить», аналогично для вычитания, умножения, деления, .. .? Конечно, вы можете скрыть это в функции add_unsigned, чтобы сделать код более понятным.
0
Действительно ли это действительно необходимо? 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);
Я попробовал это, и это прекрасно работает для некоторых операций. Думаю, мне придется писать свои собственные функции для некоторых побитовых операций и pack/unpack. –