|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.03.2018, 08:26 | #1 |
Пользователь
Регистрация: 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 |
10.03.2018, 08:30 | #2 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
m.a.x.i.m, обращайтесь e-mail: informatik101@mail.ru vk.com/alexcoder1
|
10.03.2018, 08:42 | #3 |
Пользователь
Регистрация: 29.03.2008
Сообщений: 32
|
alexcoder быстро все выполнил, добавил по моей просьбе комментарии в код, потестил - работает корректно, сейчас буду вникать сам
Последний раз редактировалось m.a.x.i.m; 10.03.2018 в 10:29. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Опишите, используя структуру записи, телефонный справочник (Ф. И. О., адрес, номер телефона). | Гарри | Паскаль, 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 |