Задать вопрос
@galsik

Скрипт перевода маски под сети в двоичный код?

Помогите написать скрипт перевода маски под сети в двоичную систему.

есть допустим маска под сети 5.100.192.0 надо перевести в двоичный код, и так чтоб двоичный код состоял не из 32 цифр а допустим с 21 или с 24.

возможно ли такой скрипт?
  • Вопрос задан
  • 532 просмотра
Подписаться 2 Оценить 14 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
Stalker_RED
@Stalker_RED
codepad.org/ZhkZgWeh
обрезать нули можно при помощи rtrim($var, '0');
Ответ написан
Комментировать
@galsik Автор вопроса
Еще одни вопрос у меня есть текстовый файл в котором записаны ip их там 800шт в виде:

  1. 5.100.192.0/21
    5.100.200.0/21
    5.100.208.0/21
    5.100.216.0/21
    31.24.88.0/21
    31.130.200.0/24
    31.130.201.0/24
    31.130.202.0/24
    31.130.203.0/24
    31.130.204.0/24

что дописать скрипте
<?php
$mask='5.100.192.0';
$maskArr = explode('.',$mask);
$binmask = sprintf( "%08d", decbin($maskArr [0])).sprintf( "%08d", decbin($maskArr [1])).sprintf( "%08d", decbin($maskArr [2])).sprintf( "%08d", decbin($maskArr [3]));
$binmask = substr($binmask,0,21);
print $binmask;
?>


что бы он открывал файл с именем text.txt читал по строкам и каждый ip адрес преобразовал в 2сс до определенного знака, это то что после слеша, и записывал получиные данные в другой файл в виде:

  • 000001010110010011000
    000001010110010011001
    000001010110010011010
    000001010110010011011
    000111110001100001011
    000111111000001011001000
    000111111000001011001001
    000111111000001011001010
    000111111000001011001011
    000111111000001011001100
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽