Int2ip

Gor

Well-known member
07.06.2005
517
1
#1
Сам на php не пишу... только начинаю знакомиться.... но жутко срочно понравилась одна стандартная функция в php - int2ip
Я так понимаю она может переводить десятичное число например в ip адреса
int2ip. Мне и надо перевести два десятичных числа в ip адреса.
ВОТ десятичные эти числа 1006633000 , 1007354000
т.к. php у меня в данный момоент не установлен я не смог воспользоваться этой функцией, но откопал алгоритм

Код:
<? 
function int2ip($i) {
 $d[0]=(int)($i/256/256/256);
 $d[1]=(int)(($i-$d[0]*256*256*256)/256/256);
 $d[2]=(int)(($i-$d[0]*256*256*256-$d[1]*256*256)/256);
 $d[3]=$i-$d[0]*256*256*256-$d[1]*256*256-$d[2]*256;
 return "$d[0].$d[1].$d[2].$d[3]";
}
Попытался я посчитать в ручную с калькулятором))))) но чёто не вышло почему то числа все дробные, а дробный ip адрес это сами понимаете что))
так вот хотел бы обратиться за помощью!!!
Правильный ли алгоритм я выбрал????
Как посчитать правильно ip????
Канешно буду очень признателен если мне их кто нибудь переведёт с помощью php... просто уж срочно надо.... не сочтите за наглость)
 

Gor

Well-known member
07.06.2005
517
1
#3
ну в этом то и проблема)
$d[0]=(int)($i/256/256/256); функция(int) это же округление?!
Но почему то всё равно тупо считая на калькуляторе числа савсем не те...
 
A

Andrew Stephanoff

#4
Скорее всего, когда ты считаешь на калькуляторе, ты от каждого действия берешь целую часть, а в данном примере у тебя целая часть береться от всех действий.
 

Gor

Well-known member
07.06.2005
517
1
#5
Для: Andrew Stephanoff
И действительно же так!!!!!!!!!!!!! вот ступиЛ
всё сошлось!!!!!
посчитал калькуляторе...!!
потом проверил на php всё правильно