Показать сообщение отдельно

  #24  
Старый 05.03.2007, 23:04
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
С нами: 10994966

Репутация: 1332


По умолчанию

2BlackLogic ты имеешь представление о хранении целых чисел в памяти? я про современную архитектуру. простой пример, -1 и 255 типа char (один байт) будут выглядеть в памяти одинаково, в то же время (-1<255)==true понимаешь к чему я клоню? ip2long возвращает значение ip адреса (целое знаковое число размером в 4 байта). пхп его обрабатывает и у себя и на более низком уровне сравнивает два знаковых числа, так как в коде пхп они были обьявлены как signed, то сравнение идет уже действительно двух знаковых чисел. и если unsigned результат ip2long был больше (но не более чем на 2^31-1) чем 2^31-1 к примеру, то это число считается уже отрицательным. а отрицательное меньше положительного в результате, хотя как тебе кажется - больше
---
кстати, так к слову, если есть число a, то -a получается простой инверсией битов и прибавлением единицы.

Последний раз редактировалось ZaCo; 05.03.2007 в 23:10..
 
Ответить с цитированием