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..
2BlackLogic ну я хз конечно, но учитывая что ни один из приведенных кодов не работает, то видимо мой) тем более такая иллюстрация "алгоритма" предложенного кезом выглядит нагляднее
Рассматривал только те примеры в которых идет выборка ip из диапазона )
Sorry за кривой топик "Сравнение..." но нужно было выяснить именно принадлежность к диапазону...