vb.netにもビット演算はありますが、
あまり使い勝手がよくないので、ここでは
.netのConvertクラスを使用します。
プレフィックスからサブネットマスクの
ビット文字列を作成します。
*.*.*.*/24
24は有効ビット数で、これが先頭アドレス
(ネットワークアドレス)になります。
dim mlen = 32 - 24 'mlen=8
8はマスクのビット数、このネットワークの総数になります。
dim wm = left("00000000000000000000000000000000",mlen)
'wm="00000000"
dim mbit = right("11111111111111111111111111111111" & wm,32)
'mbit="11111111111111111111111100000000"
(サブネットマスク)になります。
ビット文字列をIPアドレスに変換。
"11111111111111111111111100000000"
を8文字づつ整数に変換して、"."で区切る。
dim su as integer = Convert.toint32("11111111",2)
'su=255
Convert.toint32は文字列を指定進数で数値に変換します。
これを4回繰り返すと、"255.255.255.0" という
文字列になる。
IPアドレスを数値に変換する方法も載せておきます。
上記と逆に"."で区切られた数値を
8文字のビット文字列に変換します。
dim txt = Convert.ToString(su, 2)
txt = right("00000000" & txt,8)
これを接続して、32文字のビット文字列にします。
32文字のビット文字列をint64に変換します。
dim su as long = Convert.toint64(txt,2)
32ビットのintegerでは桁あふれになるので注意。