Текущий архив: 2004.07.18;
Скачать: CL | DM;
Вниз
Вопрос по РНР. Может кто-нибудь помочь? Найти похожие ветки
← →
Samael6 © (2004-06-25 17:15) [0]Товарищи, пишу программу на РНР и возникла проблема, в вычислениях с побитовыми операциями получаю результат отличный от того, который хотелось бы. Программу пишу не с нуля, а переписываю ее с Перла(есть также реализация на Дельфи). Вот в чем собственно проблема, есть такая строка:
$s=((($s-$k)-$l)+$SomeData1) xor ($l >> 0x0D);
Здесь переменные имеют следущие значения:
$s = 1868983913
$k = 313254387
$SomeData1 = 2654435769
$l = 358929616
В результате после выполнения этого действия в переменную $s записывается значение 3851235679(исполняется под Винд2000). В то время как реализация этого же куска программы в Перле(ФриБСД) и в Дельфи6 дает: 3851262585. При этом и левая скобка, и правая вычисляются правильно, а вот после операции побитового логического отрицания все портится. В чем может быть проблема? Таких мест в программе несколько и после такого "збоя" программа работает уже не так как нужно.
А есхи вместо ХОR поставить ^, то ответ: -443704711. Это тоже "не правильно".
Если все плохо, то может быть есть идеи как можно это обойти?
Как не трудно было заметить, блок с хором не выполняется вообще! Почему? Что ему мешает? Народ, хееелппп!!!
← →
VictorT © (2004-06-25 17:30) [1]Не вникал, но... попробуй явно задавать типы переменных
← →
Samael6 © (2004-06-25 19:17) [2]Там кроме интегера них нет
Страницы: 1 вся ветка
Текущий архив: 2004.07.18;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.031 c