Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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-сайт: www.hypertech.ru
 Профиль | | #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-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #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
Или один... Я в математике щас не очень :(

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам