Страница: 1 |
Страница: 1 |
Вопрос: Преобразование IP, очень интересно.
Добавлено: 28.09.04 13:53
Автор вопроса: astoro | ICQ: 649109
Есть IP-адрес 209.207.224.40 или вообще любой другой.
Он преобразовывается к одному числу при помощи формулы
209*256^3 + 207*256^2 + 224*256^1 + 40*256^0 = 3520061480
SQL имеет функцию как прямого (INET_ATON), так и обратного (INET_NTOA) преобразования. Вопрос как она преобразовывает IP в число - не стоит. А вот как она преобразует его обратно? Кто нить знает?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #1
Добавлено: 28.09.04 14:03
Делишь число на 256^3, частное это первое число IP
остаток делишь на 256^2, получишь частное и это второе число IP и т.д.
Номер ответа: 2
Автор ответа:
Шпион
ICQ: 250543104
Вопросов: 13
Ответов: 118
Профиль | | #2
Добавлено: 28.09.04 14:12
Private Sub Form_Load()
div1 = 256 ^ 1
div2 = 256 ^ 2
div3 = 256 ^ 3
a = 3520061480#
a1 = Int(a / div3)
a = a - a1 * div3
a2 = Int(a / div2)
a = a - a2 * div2
a3 = Int(a / div1)
a4 = a - a3 * div1
End Sub
Номер ответа: 3
Автор ответа:
astoro
ICQ: 649109
Вопросов: 31
Ответов: 391
Профиль | | #3
Добавлено: 29.09.04 12:59
Спасибо, что-то математика в голове сбой дала )
Номер ответа: 4
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #4
Добавлено: 29.09.04 14:01
> 209*256^3 + 207*256^2 + 224*256^1 + 40*256^0 = 3520061480
ошибочка, т.к. любое число в степени 0 дает единицу, надо так:
209*256^4 + 207*256^3 + 224*256^2 + 40*256^1 =
Обратное преобразование понятно из hex-представления твоего результата.
Номер ответа: 5
Автор ответа:
astoro
ICQ: 649109
Вопросов: 31
Ответов: 391
Профиль | | #5
Добавлено: 29.09.04 14:21
Ошибаешься, все правильно, именно ^0
Номер ответа: 6
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #6
Добавлено: 29.09.04 17:07
А почему бы просто не прибавлять то число (40)??
Номер ответа: 7
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #7
Добавлено: 29.09.04 17:10
Или один... Я в математике щас не очень