Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2018, 08:26   #1
m.a.x.i.m
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 32
По умолчанию Достать из CIDR записи начальный и конечный адрес, 1000р

Привет, когда-то изучал делфи, сейчас не хватает знаний на такую задачу. Есть CIDR запись вида 213.45.64.123/27, нужно определить начальный и конечный адрес. Для данного примера это будут 213.45.64.96-213.45.64.127. Я понял как это делается на бумаге. Но перевести в код знаний не хватает.
Сначала нам требуется перевести каждый октет нашей сети в двоичное представление, то есть
11010101.00101101.01000000.01111011
Затем записать саму маску /27 в таком же виде, дополнив единицы нулями
11111111.11111111.11111111.11100000
После сделать операцию побитового И к этим двум строкам. И получим
11010101.00101101.01000000.01111011
11111111.11111111.11111111.11100000
-----------------------------------------------
11010101.00101101.01000000.01100000
вот это мы получили первый адрес сети, осталось перевести октеты в привычный десятичный вид, получим 213.45.64.96
Чтобы найти конечный адрес, нужно найти общее количество адресов, это 2 в степени (32-27=5), то есть 32. А значит конечный адрес равен 213.45.64.127.
То есть мне нужна функция
function cidr2ranges(cidr:string):string;
cidr2ranges('213.45.64.123/27')='213.45.64.96-213.45.64.127'
за помощь 1000р вам на телефон, мой телеграмм @koxer
m.a.x.i.m вне форума Ответить с цитированием
Старый 10.03.2018, 08:30   #2
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

m.a.x.i.m, обращайтесь e-mail: informatik101@mail.ru vk.com/alexcoder1
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 10.03.2018, 08:42   #3
m.a.x.i.m
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 32
По умолчанию

alexcoder быстро все выполнил, добавил по моей просьбе комментарии в код, потестил - работает корректно, сейчас буду вникать сам

Последний раз редактировалось m.a.x.i.m; 10.03.2018 в 10:29.
m.a.x.i.m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Опишите, используя структуру записи, телефонный справочник (Ф. И. О., адрес, номер телефона). Гарри Паскаль, Turbo Pascal, PascalABC.NET 2 12.06.2015 06:11
Написать пять программ 1 сортировка и 4 задачи на графы [1000р.] jimbots Фриланс 2 04.01.2013 14:37
1000р. EmbeddedWB и user-agent VASY198512 Фриланс 1 12.02.2010 21:15
нужен бот для онлайн игры, 1000р - оплата sscrusaderss Фриланс 1 10.02.2010 19:13
Небольшая работа (1000р) Excel magellan Фриланс 3 13.01.2008 19:18