Автор Тема: Помогите посчитать количество ip адресов между двумя ip адресами. Какая формула?  (Прочитано 46 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн power

  • Юзер
  • *
  • Сообщений: 2
  • Karma: +0/-0
    • Share Post
Здравствуйте, форумчане!!!! Помогите!!! Заранее спасибо :good: :good: :good: :good: :good: :good:

Есть задача :  Для каждой пары соседних IP-адресов найти количество адресов между ними, включая имеющиеся. Помогите понять по каким правилам высчитывается количество адресов.  :dash2: :dash2: 

Результаты получаются  следующие:

  ip-1                      ip-2                       resultat
55.155.0.0           0.0.0.0                   932904961
0.0.0.0                   0.0.0.0                   1
0.0.0.0                   155.100.100.155   2607047836
155.100.100.155   205.50.0.0           835558246
205.50.0.0           0.155.0.0           3432448001
0.155.0.0           0.0.0.0                   10158081
0.0.0.0                   245.245.10.10   4126476811
245.245.10.10   0.0.0.0                   4126476811
0.0.0.0                   0.0.50.235           13036
0.0.50.235           21.205.155.55   365783117
21.205.155.55   155.205.215.175   2248162425
155.205.215.175   155.254.215.255   3211345
155.254.215.255   255.255.0.0           1677731842
255.255.0.0           55.155.0.0           3361996801

 

Оффлайн Srednii

  • Пользователь
  • **
  • Сообщений: 79
  • Karma: +3/-0
  • Подпись под аватаром
    • Share Post
Если обозначить, как a.b.c.d, то:
Цитировать
ip2bit = (a * (256*3)) + (b * (256*2)) + (c * 256)) + d + 1

Чтобы выяснить разницу:
Цитировать
( ip2bit[1] - ip2bit[2] ) - 1

Например:
Цитировать
ip1 = 205.50.0.0
ip2 = 0.155.0.0
ip2bit[1] = (205 * (256*3)) + (50 * (256*2)) +( 0 * 256 ) + 0 + 1 = 3442606081
ip2bit[2] = ( 0 * (256*3)) + (155 * (256*2)) + (0 * 256) + 0 + 1 = 10158081
diff = ( 3442606081 - 10158081 ) - 1 = 3432448000

Оффлайн power

  • Юзер
  • *
  • Сообщений: 2
  • Karma: +0/-0
    • Share Post
Hello!!!!! Салют в твою честь  :good: :yahoo: :yahoo: :good: :yahoo: :good:    Классно!!!!  Супер!!!!!!!!!! Лучший!!!


xx
Настройка DNS между двумя доменами

Автор Ivan_47

13 Ответов
1834 Просмотров
Последний ответ Май 14, 2015, 04:29:25 pm
от satelinks
xx
Linux - найти файлы между двумя датами

Автор sysadmin

0 Ответов
69 Просмотров
Последний ответ Октябрь 07, 2016, 03:35:18 pm
от sysadmin
xx
Запрет доступа к документам между двумя рабочими групами

Автор master

10 Ответов
3581 Просмотров
Последний ответ Май 08, 2012, 09:52:25 pm
от od1ssey
xx
Вырезать из строки часть находящуюся между двумя одинаковыми символами

Автор sysadmin

5 Ответов
991 Просмотров
Последний ответ Май 12, 2015, 08:56:46 am
от sysadmin