… или что бывает когда маньякам скучно
Преобразовываем IP адрес в строчку битов, одной строчкой
Или тоже самое, но в несколько строк, с пробелами и комментариями
# Разделяем адрес на октеты ("192.168.1.1".split(".")| # Foreach-Object %{ # Помещаем текущий октет в переменную $o $o=$_; # for ($_ = 7; $_ -ge 0; $_ --) {... 7..0|%{ # Возводим 2 в степень текущего числа содержащегося в # переменной $_. Делаем binary and с текущим октетом, преобразуем в # [bool] (нули станут $false, а остальные числа - $true. Преобразуем в # [int] ($true становится 1, а $false - 0). [int][bool]($o -band [math]::pow(2,$_)) } # объединяем получившийся массив битов в строчку }) -join ""
Гложет подозрение что это делается сильно проще и короче
Подскажите кто-нибудь пожалуйста
UPD: Спасибо Вадиму, в результате получилось вполне адекватно и в 2 раза короче
[convert]::ToString(([net.ipaddress]”192.168.1.1″).address,2)
Вру, не то получается…







