『IPv4アドレスのマスクの変換』投稿

どう書く?.org』への投稿

お題:IPv4アドレスのマスクの変換
http://ja.doukaku.org/253/
 ようするに、「255.255.255.128」を「25」にしたり、「24」を「255.255.255.0」にしてくださいという問題。
 特に面白い事はしていない。

function mask2bits($ddn_str)
{
    $bits = 0;
    $decs = explode(‘.’, $ddn_str);
    foreach ( $decs as $dec ) {
        $bits += substr_count(decbin($dec), ‘1’);
    }
    return $bits;
}

function bits2mask($bits)
{
    $bits_str = strrev(sprintf(‘%032s’, str_repeat(“1”, $bits)));
    $bins = str_split($bits_str, 8);
    foreach ($bins as $bin) {
        $decs[] = bindec($bin);
    }
    return implode(‘.’, $decs);
}

投稿:
PHP rank:17(63.0%)
Related Posts

1 Comments.

  1. 『IPv4アドレスのマスクの変換』投稿2

     『どう書く?.org』への投稿 お題:IPv4アドレスのマスクの変換http:…