2012-03-22 15 views
1

IPアドレスのブロードキャストを計算したい場合は、ネットワークアドレスを計算して(ANDingで)ブロードキャストアドレスが必要です。最後のIPアドレスを取得するために、ネットワークアドレスのすべてのホストビットが1になります。彼らはすべての文字列である場合C#最後の文字を別の文字列に置き換えます。

は今問題が

Anyway, the idea is this: 
      netbits     hostbits 
Network: 11000000 10101000 00000001 00000000 <- 192.168.1.0 
Subnet: 11111111 11111111 11111111 00000000 <- 255.255.255.0 
Broadcast: 11000000 10101000 00000001 11111111 <- 192.168.1.255 

:-)それを行う方法で、どのように私は、文字列に(0に置き換わる)1のへの最後の部分を変換するのですか?

私はそこにあるどのように多くの0を知っている、と私は

int hostbits = 8; 
string network ="11000010101000000000010000000"; 

string[] arraynetwork = new string[4] 
arraynetwork[0] = "11000000"; 
.... 

任意のアイデア(念の配列ならびに)文字列内のネットワークを持っていますか?

+0

なぜあなたは文字列でビットを表現したいですか? –

+0

可能な重複:[ブロードキャストアドレスをIPとサブネットマスクから計算](http://stackoverflow.com/questions/777617/calculate-broadcast-address-from-ip-and-subnet-mask) –

+0

バイトは使用できませんもしそれが宿題であれば、それは私が使っていると示唆しているものです:) – Nicholas

答えて

1

これはトリックを行う必要があります。

string network = "11000010101000000000010000000"; 
network = network.Substring(0, network.Length - 8) + "11111111"; 
+0

これはSubstring()が開始インデックスとして(network.Length-8)を取るときには機能しません。network.Substring(0、network.Length-8) – Flowerking

+0

ありがとうございました! :) – Nicholas

+0

申し訳ありませんが、私は完全に開始インデックスを忘れていました。それをクリアしていただきありがとうございますFlowerking! – Brian

関連する問題