То, как бросить 32-разрядное целое число от неподписанного до, вошло в систему MySQL или PHP?

Вероятно, не более простой, но интригующий и ужасный:

List<String> newList = new ArrayList<String>() { { addAll(listOne); addAll(listTwo); } };

не используют его в производственном коде...;)

8
задан Alex 18 July 2009 в 13:13
поделиться

2 ответа

Это:

$val = (bccomp("2147483647", $val) < 0) ? bcsub($val, "4294967296") : $val;

, похоже, работает, хотя и несколько медленно.

0
ответ дан 6 December 2019 в 00:58
поделиться

Если вы просто приведете число в целое число в PHP, это поможет.

echo (int)3232240316 . "\n";

дает

-1062726980

Примечание: если вы хотите преобразовать подписанное int в беззнаковое int в PHP, просто сделайте следующее:

$number += 4294967296;

Пример:

$number = -1062726980;
echo $number . "\n";
$number += 4294967296;
echo $number . "\n";

дает:

-1062726980
3232240316
3
ответ дан 6 December 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: