Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
1-1088668047
Галинка
2004-07-01 11:47
2004.07.18
Использование try/exception


1-1088775006
killer
2004-07-02 17:30
2004.07.18
Transparent в GroupBox


1-1089003921
ALEIIIKA
2004-07-05 09:05
2004.07.18
Компиляция программы


3-1088060842
Blick
2004-06-24 11:07
2004.07.18
Русские буквы в dBASE(IV)


14-1088388759
Думкин
2004-06-28 06:12
2004.07.18
С днем рождения! 28 июня




   Наверх