Страница: 1 |
Вопрос: Преобразование IP, очень интересно. | Добавлено: 28.09.04 13:53 |
Автор вопроса: ![]() |
Есть 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 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Хранитель чата 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 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 649109 Вопросов: 31 Ответов: 391 |
Профиль | Цитата | #3 | Добавлено: 29.09.04 12:59 |
Спасибо, что-то математика в голове сбой дала ![]() |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() 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 Автор ответа: ![]() ![]() ![]() ![]() ![]() 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 |
Или один... Я в математике щас не очень ![]() |
Страница: 1 |
|