Как в PHP указать тип переменной unsigned int? - Вопросы по сайтостроению

Вопрос Как в PHP указать тип переменной unsigned int?

Регистрация
11 Сен 2013
Сообщения
72
Репутация
0
Спасибо
0
Монет
0
Проблема в том что на С++ и PHP два одинаковых кода возвращают разный результат.
//// С++
unsigned int A = 0xb7ec3d57;
unsigned int B = 0xb0000000;

A = A ^ (B >> 10);
A = A & ~B;

На выходе получаем A = 0x07ec3de7 (Как и должно быть)

////// PHP
$A = 0xb7ec3d57;
$B = 0xb0000000;

$A =$A ^ $B >> 10);
$A =$A & ~$B;

На выходе получаем A = 0x4813c2e7 (Как не должно быть)
Проблема в первом (знаковом бите) 32х битного числа 0xb7ec3d57 если указать меньшее число (так чтобы первый бит был 0) то результат будет одинаковый.
Есть ли решение этой проблемы на PHP?
 
Регистрация
9 Май 2013
Сообщения
104
Репутация
0
Спасибо
0
Монет
0
Попробуй отрицательные числа обрабатывать отдельно, убирая первый бит, потом сдвигая и возвращая бит в нужную ячейку.
 
Сверху Снизу