преобразовать CIDR в маску подсети в tcl - PullRequest
1 голос
/ 15 ноября 2009

Учитывая CIDR, как я могу преобразовать его в маску подсети.

Ответы [ 2 ]

3 голосов
/ 15 ноября 2009

Как и на любом другом языке

set n 24
set mask [expr {~ 0 << ( 32 - $n )}]
format "%d.%d.%d.%d" [expr {$mask >> 24 & 255}] [expr {$mask >> 16 & 255}] [expr {$mask >> 8 & 255}] [expr {$mask & 255}]
1 голос
/ 09 сентября 2011

Конечно, это легко сделать в простом Tcl, но вы можете рассмотреть возможность использования пакета ip от Tcllib для преобразования IP-адресов, поскольку он предоставляет множество вспомогательных функций, которые упрощают практически все, что вам нужно делать с адресами IPv4 и IPv6.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...